I got an error message window of "First-chance exception in xxx.dll
(0xC0000005:Access Violation)",when i unset the "enable Full Kernel
Mode" in platform setting. And the system is halt.

But it is ok, while "enable Full Kernel Mode" is set.
How to solve this??
Thanks in advance!

Re: full kernel mode caused first-chance exception by alexquisi

alexquisi
Fri Nov 24 04:41:36 CST 2006

Hi,

you have to check which drivers/processes are accessing the processor's
registers directly instead of using the mapping in user space.

for example:

volatile GPIO_REGS *pGPIO_REGS;
pGPIO_REGS = (volatile GPIO_REGS *)GPIO_BASE_U_VIRTUAL;

It is using the mapping of registers in the kernel space and only works
when full kernel mode is enabled, while:

GPIO_pointer = NULL;
PHYSICAL_ADDRESS phaddr;

phaddr.QuadPart = GPIO_BASE;
GPIO_pointer = static_cast<GPIO_registers_t*>(MmMapIoSpace( phaddr,
sizeof *GPIO_pointer, FALSE ));

works in both modes (and is the way it should be done).

Regards,

Alexander


Re: full kernel mode caused first-chance exception by Bruce

Bruce
Fri Nov 24 18:23:12 CST 2006

That could also apply to any address that is statically mapped in
OEMAddressTable.

--
Bruce Eitman (eMVP)
Senior Engineer
beitman AT applieddata DOT net

Applied Data Systems
www.applieddata.net
An ISO 9001:2000 Registered Company
Microsoft WEP Gold-level Member

<alexquisi@yahoo.com.mx> wrote in message
news:1164364896.147381.101420@45g2000cws.googlegroups.com...
> Hi,
>
> you have to check which drivers/processes are accessing the processor's
> registers directly instead of using the mapping in user space.
>
> for example:
>
> volatile GPIO_REGS *pGPIO_REGS;
> pGPIO_REGS = (volatile GPIO_REGS *)GPIO_BASE_U_VIRTUAL;
>
> It is using the mapping of registers in the kernel space and only works
> when full kernel mode is enabled, while:
>
> GPIO_pointer = NULL;
> PHYSICAL_ADDRESS phaddr;
>
> phaddr.QuadPart = GPIO_BASE;
> GPIO_pointer = static_cast<GPIO_registers_t*>(MmMapIoSpace( phaddr,
> sizeof *GPIO_pointer, FALSE ));
>
> works in both modes (and is the way it should be done).
>
> Regards,
>
> Alexander
>