bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH libpciaccess] hurd: Clients or nested arbiters don't touch io


From: Damien Zammit
Subject: Re: [PATCH libpciaccess] hurd: Clients or nested arbiters don't touch ioports
Date: Sat, 27 Aug 2022 04:34:20 +0000

Hi Samuel,

I don't understand how a client/nested arbiter could be currently using these 
methods
successfully because the hurd access method would fail to enable io via 
x86_enable_io().
That is how we determine if we are a client not a master, by attempting to grab
all io ports and getting rejected the second time by the kernel.

So any subsequent pci_io_* calls would all be failing anyway via hurdish access 
method?

Damien

On 25/8/22 6:58 am, Samuel Thibault wrote:
> Damien Zammit, le mar. 23 août 2022 08:36:56 +0000, a ecrit:
>> I tested this patch and linked it to both pci-arbiter.static
>> and rumpdisk.static, everything still works.
>
> Did you try Xorg? It uses pci_io_read32 & alike.
>
>> +    .open_legacy_io = NULL,
>> +    .close_io = NULL,
>> +    .read32 = NULL,
>> +    .read16 = NULL,
>> +    .read8 = NULL,
>> +    .write32 = NULL,
>> +    .write16 = NULL,
>> +    .write8 = NULL,
>
> That would break it.
>
> When it was mentioned on IRC, I though this was about an mmio
> read/write, which would have to go through PCI drivers etc. since it's
> actually i/o ports we just *have* to do ins/outs. Most modern hardware
> use mmio, but legacy, e.g. vga/vesa/etc. use these I/O.
>
> Samuel
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]