From 3023ab11f79fee4dce4a8bfc796380e78d1a27cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 28 May 2008 12:44:56 +0000 Subject: [PATCH] =?UTF-8?q?Patch=20by=20Jan=20Kl=C3=B6tzke:=20*=20Improve?= =?UTF-8?q?=20vm86=20mode=20tracing.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25681 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/arch/x86/vm86.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/system/kernel/arch/x86/vm86.cpp b/src/system/kernel/arch/x86/vm86.cpp index 41833070aa..dbadcedd19 100644 --- a/src/system/kernel/arch/x86/vm86.cpp +++ b/src/system/kernel/arch/x86/vm86.cpp @@ -18,8 +18,8 @@ //#define TRACE_VM86 #ifdef TRACE_VM86 -# define TRACE(x...) kprintf("[vm86] " x) -# define TRACE_NP(x...) kprintf(x) +# define TRACE(x...) dprintf("[vm86] " x) +# define TRACE_NP(x...) dprintf(x) #else # define TRACE(x...) # define TRACE_NP(x...) @@ -513,6 +513,9 @@ vm86_fault_callback(addr_t address, addr_t faultAddress, bool isWrite) { struct iframe *frame = i386_get_user_iframe(); + TRACE("Unhandled fault at 0x%08x touching 0x%08x while %s\n", + faultAddress, address, isWrite?"writing":"reading"); + // we shouldn't have unhandled page faults in vm86 mode x86_vm86_return((struct vm86_iframe *)frame, B_BAD_ADDRESS); @@ -548,6 +551,7 @@ vm86_prepare(struct vm86_state *state, unsigned int ramSize) | B_READ_AREA | B_WRITE_AREA); if (state->ram_area < B_OK) { ret = state->ram_area; + TRACE("Could not create RAM area\n"); goto error; } @@ -557,6 +561,7 @@ vm86_prepare(struct vm86_state *state, unsigned int ramSize) &address); if (vectors < B_OK) { ret = vectors; + TRACE("Could not copy vectors\n"); goto error; } ret = user_memcpy((void *)0, address, 0x502); @@ -572,6 +577,7 @@ vm86_prepare(struct vm86_state *state, unsigned int ramSize) | B_KERNEL_WRITE_AREA | B_READ_AREA | B_WRITE_AREA, (addr_t)0xa0000); if (state->bios_area < B_OK) { ret = state->bios_area; + TRACE("Could not map VGA BIOS.\n"); goto error; }