Re: pci-arbiter: Implement mapping for ROM files

2022-08-15 Thread Samuel Thibault
Samuel Thibault, le lun. 15 août 2022 20:20:16 +0200, a ecrit: > Joan Lledó, le lun. 15 août 2022 20:07:09 +0200, a ecrit: > > El 15/8/22 a les 19:37, Samuel Thibault ha escrit: > > > Mmm, but doesn't libpciaccess allow to map the BAR?Then pci-arbiter > > > could create a read-only memory proxy of

Re: pci-arbiter: Implement mapping for ROM files

2022-08-15 Thread Joan Lledó
Hi, El 15/8/22 a les 20:20, Samuel Thibault ha escrit: Sorry, I meant: why can't we do that for ROMs? Does libpciaccess not provide a way to map ROMs? That's the problem: it doesn't. It only provides the function pci_device_read_rom() which copies the entire ROM to a given pointer. But it d

Re: pci-arbiter: Implement mapping for ROM files

2022-08-15 Thread Samuel Thibault
Joan Lledó, le lun. 15 août 2022 20:07:09 +0200, a ecrit: > El 15/8/22 a les 19:37, Samuel Thibault ha escrit: > > Mmm, but doesn't libpciaccess allow to map the BAR?Then pci-arbiter > > could create a read-only memory proxy of the mapping? > > Yes, the arbiter exposes the BAR regions as files cal

Re: pci-arbiter: Implement mapping for ROM files

2022-08-15 Thread Joan Lledó
Hi, El 15/8/22 a les 19:37, Samuel Thibault ha escrit: Mmm, but doesn't libpciaccess allow to map the BAR?Then pci-arbiter could create a read-only memory proxy of the mapping? Yes, the arbiter exposes the BAR regions as files called "region0", "region1", etc. And they can be mapped through a

Re: pci-arbiter: Implement mapping for ROM files

2022-08-15 Thread Samuel Thibault
Hello, Joan Lledó, le lun. 15 août 2022 18:15:19 +0200, a ecrit: > This has the obvious drawback of each arbiter instance having to copy all > devices ROMs into its space. It would be better to get the ROM physical > address somehow and map it into the arbiter space the same way we do for BAR >

[PATCH] Implement mapping for ROM files

2022-08-15 Thread Joan Lledó
From: Joan Lledó * pci-arbiter/device_map.h: * pci-arbiter/device_map.c: * New function: device_map_rom * Copies the whole rom in the arbiter space. * pci-arbiter/pcifs.h: * struct pcifs_dirent: * New field to store the mapping address for each device rom. o pci-arbiter/func_files.h:

pci-arbiter: Implement mapping for ROM files

2022-08-15 Thread Joan Lledó
Helllo Hurd, I wrote a patch to allow mapping ROM files from the arbiter file system. In order to achieve this, the arbiter first allocates and copies the entire device ROM in its space the first time it's accessed, and returns a proxy to that memory region when a client requests a ROM filema