aboutsummaryrefslogtreecommitdiff
path: root/libmachdev/machdev.h
Commit message (Collapse)AuthorAgeFilesLines
* machdev, pci-arbiter, rumpdisk: Fix race condition in bootstrapDamien Zammit2022-09-111-1/+2
| | | | | | | | This fixes a known race condition in bootstrapping by separating the fsys_startup call from the server demuxer loop into two separate functions that the caller can decide when to call. Message-Id: <20220908093229.499494-1-damien@zamaudio.com>
* libmachdev: Export demuxer as machdev_demuxer and bucket pointerDamien Zammit2022-03-011-0/+3
| | | | | | This will allow callers to manage their own server routine. Message-Id: <20220227091013.33112-3-damien@zamaudio.com>
* libmachdev: Fix startup_dosyncSamuel Thibault2021-08-111-1/+1
| | | | | | | We do not actually want to shut everything down. For instance, we still have to be able to start the acpi translator to perform the actual shutdown. What we however have to do is syncing the disks.
* machdev: Pass argv through to _hurd_initDamien Zammit2021-04-041-1/+1
| | | | Message-Id: <20210404033750.143411-1-damien@zamaudio.com>
* libmachdev: pass shutdown handle to shutdown methodDamien Zammit2021-03-071-1/+1
| | | | | | | | | | | | * libmachdev/machdev-device_emul.h (struct machdev_device_emulation_ops): Add shutdown method. * libmachdev/ds_routines.c (machdev_device_shutdown): Take dosync_handle handle and pass it to shutdown method. * libmachdev/machdev.h (machdev_device_shutdown): Update prototype. * libmachdev/trivfs_server.c (S_startup_dosync): Pass shutdown handle to machdev_device_shutdown call. * rumpdisk/block-rump.c (rumpdisk_device_shutdown): Take dosync_handle parameter.
* libmachdev: Avoid conflating translator name and pathSamuel Thibault2020-11-141-1/+1
| | | | | | | | | | | | bootstrap translators may not wish to appear in the FS, and the name of the translator does not have to match the path where it is getting installed. * libmachdev/machdev.h (machdev_trivfs_init): Add path parameter. * libmachdev/trivfs_server.c (machdev_trivfs_init): Add path parameter, set devnode only if it is not NULL. (trivfs_S_fsys_init): Only call install_as_translator when devnode is not NULL. * /rumpdisk/main.c (main): Add path parameter.
* libmachdev: Introduce startup notification for clean rumpdisk shutdownDamien Zammit2020-08-021-0/+1
| | | | Message-Id: <20200801050538.273196-1-damien@zamaudio.com>
* libmachdev: Add resume for bootstrap serverDamien Zammit2020-07-251-3/+2
| | | | | | | | | | | | machdev users can now pass along a port to the next translator in the bootstrap chain (bootstrap_resume_task), that they'll get from their command line set by the bootloader. machdev will then call task_resume on it as appropriate. It will also have the opportunity to get fsys_getpriv calls, and thus redirect the device master port, thus having the opportunity to expose its devices on the device master port, as if they were handled by the kernel. Message-Id: <20200725011847.186969-1-damien@zamaudio.com>
* machdev: Expose machdev_emul_device structureSamuel Thibault2020-03-301-0/+1
| | | | | | | | | | | | | | | * libmachdev/machdev-dev_hdr.h (DEVICE_NULL): Remove macro. (emul_device): Rename structure to machdev_emul_device. (emul_device_t): Rename type to machdev_emul_device_t. (mach_device, mach_device_t, MACH_DEVICE_NULL): Move to... * libmachdev/mach_device.h: ... new file. * libmachdev/ds_routines.c: Include "mach_device.h". * libmachdev/machdev-device_emul.h: Include <mach/notify.h>, <device/device_types.h>, <device/net_status.h>, <errno.h> * libmachdev/machdev.h: Include "machdev_hdr.h". * libmachdev/mig-decls.h: Include "mach_device.h". * libmachdev/Makefile (LCLHDRS): Add mach_device.h. (installhdrs): Add machdev-dev_hdr.h.
* libmachdev: Add common machdevZheng Da2020-03-291-0/+39
* libmachdev: New directory.