Re: Stored data missed in setup.S

Randy.Dunlap (rddunlap@osdl.org)
Wed, 23 Apr 2003 07:51:58 -0700


On Wed, 23 Apr 2003 10:36:55 -0400 (EDT) "Richard B. Johnson" <root@chaos.analogic.com> wrote:

| On Wed, 23 Apr 2003, Andrew Kirilenko wrote:
|
| [SNIPPED...]
|
| > OK. And now code looks like:
| > -->
| > start_of_setup: # line 160
| > # bla bla bla - some checking code
| > movb $1, %al
| > movb %al, (0x100)
| > ....
| > ....
| > cmpb $1, (0x100)
| > je bail820 # and it DON'T jump here
| > <--
| >
|
| > I'm sure, I'm doing something wrong. But what???
|
| The only possibiity is that the code you just showed is not
| being executed. Absolute location 0x100 is not being overwritten
| by some timer-tick (normally) so whatever you write there should
| remain. You just put a byte of 1 in that location and then
| you compared against a byte of 1. If the CPU was broken, you
| wouldn't have even loaded your code.

Could possibly be that DS (seg register) is altered between
the store and the comparison...

| It is quite likely that the IP is being diverted around your code
| by some previous code.
|
| FYI, you can check the progress of your code by 'printing' on
| the screen. Set up ES to point to the screen segment, and write
| letters there:
|
| movw $0xb800, %ax
| movb %ax, %es
| movb $'A', %es:(0)
|
| This 'prints' an 'A' at the first location on the screen.

--
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/