From b160d6f3b3cdcd6a293c33cd89dcc46ab54c3264 Mon Sep 17 00:00:00 2001 From: Damien Zammit Date: Sun, 3 Nov 2019 21:35:57 +0100 Subject: pci-arbiter: Use libpciaccess instead of embedding it 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. --- pci-arbiter/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'pci-arbiter/main.c') diff --git a/pci-arbiter/main.c b/pci-arbiter/main.c index bc085274..112cd98b 100644 --- a/pci-arbiter/main.c +++ b/pci-arbiter/main.c @@ -34,7 +34,7 @@ #include "libnetfs/fsys_S.h" #include "libports/interrupt_S.h" #include "libnetfs/ifsock_S.h" -#include "pci_access.h" +#include #include "pcifs.h" #include "startup.h" @@ -85,7 +85,7 @@ main (int argc, char **argv) if (err) error (1, err, "mapping time"); - /* Start the PCI system */ + /* Start the PCI system: NB: pciaccess will choose x86 first and take lock */ err = pci_system_init (); if (err) error (1, err, "Starting the PCI system"); @@ -96,7 +96,7 @@ main (int argc, char **argv) error (1, err, "Creating the PCI filesystem"); /* Create the filesystem tree */ - err = create_fs_tree (fs, pci_sys); + err = create_fs_tree (fs); if (err) error (1, err, "Creating the PCI filesystem tree"); -- cgit v1.2.3