From 83ac2b3d67afc9895a80e813118569e2a73236ab Mon Sep 17 00:00:00 2001 From: Damien Zammit Date: Sun, 26 Dec 2021 22:38:56 +1100 Subject: pci-arbiter,rumpdisk: Lock all memory for swapping This locks all memory in bootstrap processes so that disk driver dependencies don't get swapped out. Message-Id: <20211226113857.150525-5-damien@zamaudio.com> --- pci-arbiter/main.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'pci-arbiter') diff --git a/pci-arbiter/main.c b/pci-arbiter/main.c index 510e7dbc..602a545c 100644 --- a/pci-arbiter/main.c +++ b/pci-arbiter/main.c @@ -203,8 +203,17 @@ main (int argc, char **argv) if (next_task != MACH_PORT_NULL) { + /* We are a bootstrap process */ + machdev_register (&pci_arbiter_emulation_ops); machdev_trivfs_init (argc, argv, next_task, "pci", NULL /* _SERVERS_BUS "pci" */, &bootstrap); + + /* Make sure we will not swap out, in case we are needed for swapping + back in. */ + err = mlockall(MCL_CURRENT | MCL_FUTURE); + if (err) + error (1, errno, "cannot lock all memory"); + machdev_device_init (); err = pthread_create (&t, NULL, machdev_server, NULL); if (err) -- cgit v1.2.3