git: e8988d60d24b - main - pci: expose intel_graphics_stolen as sysctl
Date: Mon, 27 Mar 2023 09:41:14 UTC
The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=e8988d60d24b05e98919e912329880a54cdfdd70 commit e8988d60d24b05e98919e912329880a54cdfdd70 Author: Corvin Köhne <corvink@FreeBSD.org> AuthorDate: 2023-03-27 08:21:37 +0000 Commit: Corvin Köhne <corvink@FreeBSD.org> CommitDate: 2023-03-27 09:40:49 +0000 pci: expose intel_graphics_stolen as sysctl The Intel graphics stolen memory is used by the Intel GOP driver on boot. When using bhyve with GPU passthrough, it's also used by the guest GOP driver at guest boot. For that reason, bhyve needs to know the address and size of this region to inform the guest about this region. Exposing the variables as sysctl allows bhyve to easily read them. --- sys/x86/pci/pci_early_quirks.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/x86/pci/pci_early_quirks.c b/sys/x86/pci/pci_early_quirks.c index b9de1d78e022..7eb3fcd91927 100644 --- a/sys/x86/pci/pci_early_quirks.c +++ b/sys/x86/pci/pci_early_quirks.c @@ -32,6 +32,8 @@ __FBSDID("$FreeBSD$"); #include <sys/systm.h> #include <sys/bus.h> #include <sys/kernel.h> +#include <sys/sysctl.h> + #include <vm/vm.h> /* XXX: enable this once the KPI is available */ /* #include <x86/physmem.h> */ @@ -56,6 +58,12 @@ struct pci_device_id { */ vm_paddr_t intel_graphics_stolen_base = 0; vm_paddr_t intel_graphics_stolen_size = 0; +SYSCTL_U64(_hw, OID_AUTO, intel_graphics_stolen_base, CTLFLAG_RD, + &intel_graphics_stolen_base, 0, + "Base address of the intel graphics stolen memory."); +SYSCTL_U64(_hw, OID_AUTO, intel_graphics_stolen_size, CTLFLAG_RD, + &intel_graphics_stolen_size, 0, + "Size of the intel graphics stolen memory."); /* * Intel early quirks functions