summaryrefslogtreecommitdiff
path: root/pci-arbiter/func_files.h
AgeCommit message (Collapse)Author
2022-08-15Implement mapping for ROM filesJoan 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/func_files.c: * read_rom_file: * Retrieves the rom contents from the local space instead of libpciaccess. * pci-arbiter/netfs_impl.c: * netfs_attempt_read:get_filemap_region * Update call to read_rom_file. * get_filemap_region: * Uses the old code at netfs_get_filemap to get a proxy to the device memory region. * get_filemap_rom: * Returns a proxy to the locally mapped device rom. * netfs_get_filemap: * Checks the requested file to map and calls get_filemap_rom, get_filemap_region or returns en error. Message-Id: <20220815161520.6059-2-jlledom@mailfence.com>
2019-11-03pci-arbiter: Use libpciaccess instead of embedding itDamien Zammit
This patch removes all embedded pciaccess code from the arbiter and instead uses the external pciaccess library. * pci-arbiter/Makefile: * Remove pci_access.c and x86_pci.c from the sources. * pci-arbiter/func_files.c: * io_config_file: Use a harcoded PCI config size. * read_rom_file: Grab the full rom first, then return the requested amount. * pci-arbiter/main.c: * main: Call create_fs_tree() w/o pci_sys. Since it's not part of the translator anymore. * pci-arbiter/netfs_impl.c: * netfs_attempt_read: Send pci_device_cfg_read() as the read op. * netfs_attempt_write: Send pci_device_cfg_write() as the write op. * pci-arbiter/pci-ops.c: * S_pci_conf_read: Call libpciaccess' pci_device_cfg_read(). * S_pci_conf_write: Call libpciaccess' pci_device_cfg_write(). * S_pci_get_dev_rom: Set rom.base_addr to zero for the moment, until libpciaccess esposes it properly. * pci-arbiter/pci_access.c: Deleted * pci-arbiter/pci_access.h: Deleted * pci-arbiter/pcifs.c: * create_fs_tree: Remove the pci_sys parameter. Use libpciaccess' iterator. Use a hardcoded config space size. * pci-arbiter/pcifs.h: Definitions for changes in pcifs.c. * pci-arbiter/x86_pci.c: Deleted. * pci-arbiter/x86_pci.h: Deleted.
2018-10-30PCI ArbiterJoan Lledó