Forums before death by AOL, social media and spammers... "We can't have nice things"
|    alt.os.development    |    Operating system development chatter    |    4,255 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 3,570 of 4,255    |
|    Alexei A. Frounze to All    |
|    Re: paging makes OS to reboot infinitely    |
|    07 Dec 22 20:02:06    |
      From: alexfrunews@gmail.com              On Wednesday, December 7, 2022 at 9:32:19 AM UTC-8, אורי ויסבלום       wrote:       > BTW can you look at my flags enum? I might have made some mistakes there.               They seem fine at first glance.              > Alex:       > >Is it all working now?       > I meant the pointer arithmetics part is now working as intended. the OS is       s1till rebooting over and over again               What addresses are in GDTR, GDT, IDTR, IDT, ESP and, finally, TSS if any?       The segment, interrupt and task tables must be accessible by the CPU as well.       Not to mention the stack, obviously.              Another thing I'd want to make sure is that the tables are all set up       before CR0.PG is set to 1.       I'd add a volatile attribute on those asm statements in startVirtualMode()       and also include "memory" in the clobber lists of those asm's.       And I'd check the disassembly of the result.              The C compiler doesn't know that those asm statements are relevant       to memory accesses and it can rearrange some things, e.g. generate       code to set CR0.PG before the tables are fully prepared.              Alex              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca