aboutsummaryrefslogtreecommitdiff
path: root/pci-arbiter/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* pci-arbiter: Implement memory mapping over region filesJoan Lledó2021-12-251-1/+1
| | | | | | | | | | | | | | | | | | | * pci-arbiter/Makefile: * Add device_map.c to sources * pci-arbiter/device_map.c: * pci-arbiter/device_map.h: * New module for device mapping * Relies on libpciaccess mapping methods * pci-arbiter/func_files.c: * io_region_file(): Use the new device mapping module * pci-arbiter/netfs_impl.c: * Implements netfs_get_filemap(): * Uses the device mapping module to map the region to the arbiter space * Calls the kernel RPC vm_region_create_proxy() to obtain the memory object proxy * Only region files are mapped for now Message-Id: <20211219112647.11512-4-jlledom@mailfence.com>
* machdev,rump,pci: Rework bootstrapDamien Zammit2021-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | * libmachdev/trivfs_server.c (bootstrapped): Rename to bootstrapping. (trivfs_S_fsys_startup): Call fsys_startup on the bootstrap port. (essential_task): New function. (trivfs_S_fsys_init): Call fsys_init on the bootstrap port. Configure proc. Mark us as essential when bootstrapping even without a devnode. (arrange_shutdown_notification): Do not configure proc. (machdev_trivfs_init): Always get the bootstrap port from the kernel, leave it MACH_PORT_NULL if unavailable. Call fsys_getpriv on it if it is. * pci-arbiter/Makefile (SRCS): Remove startup.c. * pci-arbiter/startup.c: Delete file. * pci-arbiter/startup.h: Delete file. * pci-arbiter/main.c: Do not include "startup.h" (pci_device_shutdown): Do not try to lokup the dosync_handle. (pcifs_startup): Always create the pci_control_port right on the control port. (main): Call machdev_device_init after machdev_trivfs_init. Do not call arrange_shutdown_notification. * rumpdisk/main.c (netfs_server_name): Don't pretend to be the arbiter anymore (main): Call machdev_device_init after machdev_trivfs_init. Message-Id: <20210316054715.788725-1-damien@zamaudio.com>
* pci-arbiter: Introduce machdev into this serverDamien Zammit2021-03-081-4/+3
| | | | | | | | | | | | | | | * pci-arbiter/Makefile Add machdev lib and simplify * pci-arbiter/main.c (pci_device_{open,close,shutdown}): New methods (netfs_server_func): Thread the demuxer loop (pcifs_startup): Custom startup method (main): Use machdev for server and detach worker threads * pci-arbiter/options.{c,h} Add disk-server-task and priv ports * pci-arbiter/startup-ops.c Delete file Message-Id: <20210308130457.693821-4-damien@zamaudio.com>
* pciaccess: properly detect and useSamuel Thibault2019-11-031-2/+2
| | | | | | | | | | | * configure.ac: Detect pciaccess pkg module. Define HAVE_LIBPCIACCESS, libpciaccess_CFLAGS, libpciaccess_LIBS variables. * config.make.in (HAVE_LIBPCIACCESS, libpciaccess_CFLAGS, libpciaccess_LIBS): Add variables. * Makefile (prog-subdirs) [!HAVE_LIBPCIACCESS]: Do not add pci-arbiter. * pci-arbiter/Makefile (LDLIBS): Use $(libpciaccess_LIBS) instead of -lpciaccess. (CFLAGS): Use $(libpciaccess_CFLAGS).
* pci-arbiter: Use libpciaccess instead of embedding itDamien Zammit2019-11-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: fix cross-buildSamuel Thibault2018-11-281-1/+1
| | | | * pci-arbiter/Makefile (HURDLIBS): Add iohelp and ihash.
* PCI ArbiterJoan Lledó2018-10-301-0/+41