flat assembler
Message board for the users of flat assembler.
Index
> OS Construction > Flat Real Mode Goto page Previous 1, 2 |
Author |
|
smiddy 30 Mar 2012, 02:37
Ah, ok, thanks!
|
|||
30 Mar 2012, 02:37 |
|
Tomasz Grysztar 03 Apr 2012, 08:18
dileep wrote: On some systems i am able to access 32bit offset without changing to unreal mode and not in other systems. As for why system is sometimes in flat real mode - as I mentioned in that text, this is usually because of HIMEM.SYS, which itself uses FRM to quickly move memory blocks between conventional and extended memory. If you look at HIMEM.SYS source code, you can find in X386.ASM proc Int13Handler, which is the GPF handler, it also does correctly the IRQ 5 check, and sets up the flat real mode, which they call "Real Big Mode" there*. And about checking whether processor is in flat real mode or not - just try to access some high address and see if GPF was fired or not. __________ * BTW, that's a hint that the "big real" was a name used in old times, the file dates to 1989. Who did coin the "Flat Real Mode" term later? I don't know, but when I first met it, it was already under the FRM label. |
|||
03 Apr 2012, 08:18 |
|
dileep 03 Apr 2012, 10:48
I read that link.
Things worked fine with GPF handler. Actually i am working on pre-boot environment . So i need to make sure that the use of GPF handler won't cause any other issues. |
|||
03 Apr 2012, 10:48 |
|
ACP 03 Apr 2012, 23:52
dileep wrote: I read that link. I suppose you should be fine as long as you follow the correct protocol for BIOS and/or UEFI depending on which standard are you using. Generally keep in mind that DOS as well as other 32bit system expect CPU to be in real mode. Also keep in mind how the memory is being mapped from card ROM to RAM - you can't leave your int handler address in interrupt vector table if your handler will not be preserved or will be overwritten by system loader for example. So just follow the correct protocol for your firmware standard and restore system to correct state. One more thing: if you are working in pre boot environment than it is to early for HIMEM.SYS to get loaded and become active obviously. Your BIOS might be using flat real mode for decompression of internal blocks to RAM or for SMM mode for example and this might be the case. |
|||
03 Apr 2012, 23:52 |
|
dileep 04 Apr 2012, 04:15
Thanks ,
I am working on PXE driver. ACP wrote:
I keep restoring the default GPF handler, after i am done with my work. |
|||
04 Apr 2012, 04:15 |
|
ACP 04 Apr 2012, 07:37
dileep wrote: Thanks , Also restore other CPU/system settings after you are done. After all all loader expect certain environment. |
|||
04 Apr 2012, 07:37 |
|
dileep 06 Apr 2012, 07:08
Thank You Guys, for your replies.
|
|||
06 Apr 2012, 07:08 |
|
Goto page Previous 1, 2 < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.