svn commit: r205649 - head/sys/compat/x86bios

Jung-uk Kim jkim at FreeBSD.org
Thu Mar 25 17:03:53 UTC 2010


Author: jkim
Date: Thu Mar 25 17:03:52 2010
New Revision: 205649
URL: http://svn.freebsd.org/changeset/base/205649

Log:
  Optimize real mode page table lookup.

Modified:
  head/sys/compat/x86bios/x86bios.c

Modified: head/sys/compat/x86bios/x86bios.c
==============================================================================
--- head/sys/compat/x86bios/x86bios.c	Thu Mar 25 16:31:05 2010	(r205648)
+++ head/sys/compat/x86bios/x86bios.c	Thu Mar 25 17:03:52 2010	(r205649)
@@ -112,17 +112,16 @@ x86bios_set_fault(struct x86emu *emu, ui
 static void *
 x86bios_get_pages(uint32_t offset, size_t size)
 {
-	int i;
+	vm_offset_t page;
 
 	if (offset + size > X86BIOS_MEM_SIZE + X86BIOS_IVT_SIZE)
 		return (NULL);
 
 	if (offset >= X86BIOS_MEM_SIZE)
 		offset -= X86BIOS_MEM_SIZE;
-	i = offset / X86BIOS_PAGE_SIZE;
-	if (x86bios_map[i] != 0)
-		return ((void *)(x86bios_map[i] + offset -
-		    i * X86BIOS_PAGE_SIZE));
+	page = x86bios_map[offset / X86BIOS_PAGE_SIZE];
+	if (page != 0)
+		return ((void *)(page + offset % X86BIOS_PAGE_SIZE));
 
 	return (NULL);
 }


More information about the svn-src-head mailing list