home bbs files messages ]

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