BTX/AMD64/E820 FreeBSD 7.2

Sean P. Dew freebsd.work at gmail.com
Tue Jun 2 05:49:20 UTC 2009


I am trying to run FreeBSD on a hypervisor (custom written). The hypervisor
steals some memory for itself and wants to hide it from FreeBSD so that the
OS does not read or write to that memory. The hypervisor hooks the real mode
IDT for INT15 and checks for E820 and SMAP in the correct registers, and
returns the modified SMAP to the OS. The problem I am facing is when the
kernel invokes getmemsize (sys_amd64:01104), it looks for the SMAP loaded by
the BTX loader. In GetBiosMEM where it is actually loaded, the BTX loader is
invoked which invokes the  INT15 handler using a RET instead of an INT15. Is
there someway to totally bypass the BTX loade or change that behavior using
some #define in the kernel to make it use int15?

Thanks


More information about the freebsd-current mailing list