Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Fast A20 Gate causing CPU reset: (5 Items)
   
Fast A20 Gate causing CPU reset  
I have had reports of systems rebooting for no apparent reason. These systems never showed this issue until they were 
wiped and loaded with QNX. Current version they are running is 6.3.2a.

This design uses AMI BIOS with A20 Gate set to Fast. 

Does anyone know if 6.3.2a still uses the x86_enable_a20() function? If so, is it being used by one of the OS subsystems
? All I can think of is that this is being used by the OS and port 0x92 on this hardware platform does not handle it 
well.

The issue has only occured three times (at least that is all that has been reported) over the last two years. I am 
concerned as we prepare to move all deployments to QNX.
Re: Fast A20 Gate causing CPU reset  
SVN shows x86_enable_a20() is only used by startup in function x86_init_pcbios(). There are no calls from the os.

James VanOeffelen wrote:
> I have had reports of systems rebooting for no apparent reason. These systems never showed this issue until they were 
wiped and loaded with QNX. Current version they are running is 6.3.2a.
> 
> This design uses AMI BIOS with A20 Gate set to Fast. 
> 
> Does anyone know if 6.3.2a still uses the x86_enable_a20() function? If so, is it being used by one of the OS 
subsystems? All I can think of is that this is being used by the OS and port 0x92 on this hardware platform does not 
handle it well.
> 
> The issue has only occured three times (at least that is all that has been reported) over the last two years. I am 
concerned as we prepare to move all deployments to QNX.
> 
> 
> 
> _______________________________________________
> 
> OSMeta
> http://community.qnx.com/sf/go/post59356
> 

Re: Fast A20 Gate causing CPU reset  
So it is accessed during startup, but should not be a problem if the OS is already up and running.

Are you able to see how x86_init_pcbios() is using the function? Most likely just checking to see if A20 is Fast or 
Normal.

Re: Fast A20 Gate causing CPU reset  
Aparrantly not. The code in x86_init_pcbios() is:

	if(x86_enable_a20(cpu, 0) != 0) {
       		crash("Unable to enable address line A20 (gate_a20).\n");
       	}

Internally x86_enable_a20 pumps a few hex bytes into a few hex io addresses ( with out8() ) none of which I understand. 

And ends by calling aother function, test_gate_a20(cpu), which returns true or false if what appears to be a memory 
write and cache flush test works. That bool is returned to x86_enable_a20, which triggers the crash or not.

I dont see any referneces to fast or normal.

This all occurs before the os comes up.


However, I supsect you'll find the right expertise in the BSP group. We are mere kernel minions here.

-ad

James VanOeffelen wrote:
> So it is accessed during startup, but should not be a problem if the OS is already up and running.
> 
> Are you able to see how x86_init_pcbios() is using the function? Most likely just checking to see if A20 is Fast or 
Normal.
> 
> 
> 
> 
> 
> _______________________________________________
> 
> OSMeta
> http://community.qnx.com/sf/go/post59401
> 

Re: Fast A20 Gate causing CPU reset  
Without the kernel minions there would be no foundation and all would cumble. :)

Thank you much for the research. This is more than I previousloy knew.