Quantcast
Channel: Embedded Community : All Content - All Communities
Viewing all articles
Browse latest Browse all 3032

EHCI handoff fails on Baytrail

$
0
0

Hi,

 

To understand my questions, see the included figure. In figure 1, the photo you can notice the following:

 

The 3 hexadecimal values in the top line are dumpings of the USB2 ULSEC register shown in figure 2. The first value is the value at SMM handler entry, The second value is after BIOS semaphore has been reset and read by memory mapped I/O. The third is the same, but read with the standard I/O method.

 

The test program below reads the ULSEC register using the I/O method. This register is read before and after the SMM handler resets the BIOS owner semaphore.

 

As you can see that even though the BIOS semaphore bit is cleared by the SMM handler, it's still set when the application reads the ULSEC register. I also tried this using a debugger and direct register I/O in assembly language. Same result. The registers are properly updated in SMM context, but the stale value is still read in application context.

 

I run my tests from MSDOS, so there are no interfering layers of software.  Any ideas?

 

Best regards,

 

B-O

 

 

EHCIHandOff.JPGEHCIHandOff.png


Viewing all articles
Browse latest Browse all 3032

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>