Date: Tue, 2 Jun 2009 09:25:26 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-current@freebsd.org Cc: "Sean P. Dew" <freebsd.work@gmail.com> Subject: Re: BTX/AMD64/E820 FreeBSD 7.2 Message-ID: <200906020925.26738.jhb@freebsd.org> In-Reply-To: <45d874490906012218y16834cc4va32f6e25b0ab8374@mail.gmail.com> References: <45d874490906012218y16834cc4va32f6e25b0ab8374@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 02 June 2009 1:18:04 am Sean P. Dew wrote: > 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? No. Assuming you have hooked the real mode entry point in the IDT table, that is the address that BTX is going to jump to. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906020925.26738.jhb>