|
From: Brian P. <br...@sg...> - 2001-10-14 21:44:12
|
One more thing -- after this jump is made you have to make sure you're not trying to run 16-bit code in a 32-bit code segment. Brian -----Original Message----- From: Brian Palmer [mailto:br...@sg...] Sent: Sunday, October 14, 2001 1:19 AM To: ros...@re... Subject: [ros-kernel] RE: RE: Re: RE: Re: RE: Re: Old reactos You might try changing the jump instruction into a jump far instruction. This would both clear the prefetch queue and set the CS register to it's correct selector. You also might try removing jump instructions altogether because if I remember correctly there are only a few instructions between the time pmode is initialized and control is transferred to ReactOS. So clearing the prefetch queue is really not neccesary. The more I think about it however the more I dislike the idea of any jump instructions being there at all because if you did do a far jump you would need to calculate the 32-bit offset from the selector's base which makes it overly complex (just like this huge run-on sentence). Hope this helps. Brian -----Original Message----- From: Jurgen Van Gael [mailto:jur...@st...] Sent: Wednesday, October 10, 2001 1:08 PM To: ros...@re... Subject: [ros-kernel] RE: Re: RE: Re: RE: Re: Old reactos Sorry, I tried this but the system still reboots. This is getting a very anoying problem because I can't test the work I have done for reactos (ole32). Has anybody got freeloader, and would that work loading reactos on my system. The thing is I don't know enough assembler to solve the problem on my own. Hoping for a quick solution. Jurgen -----Original Message----- From: rene Tournois @free.fr [mailto:be...@fr...] Sent: Wednesday, October 10, 2001 19:36 To: ros...@re... Subject: [ros-kernel] Re: RE: Re: RE: Re: Old reactos Try to insert a couple of NOP between the Label declaration and the jump instruction. If i remember well, there a little bug in NASM about this... (unsure, but no relationship with the prefetch anyway). Betov. >I am very sorry, I also had to change the .exit to exit because >otherwise nasm wouldn't build loadros. > >And still the system reboots, but I can now put the loop after next: > mov eax,cr0 > or eax,0x10001 > mov cr0,eax > jmp next >next: >break: > jmp break > ;; > ;; NOTE: This must be position independant (no references to > ;; non absolute variables) > ;; > > ;; > ;; Initalize segment registers > ;; > mov ax,KERNEL_DS > mov ds,ax > mov ss,ax > mov es,ax > mov fs,ax > mov gs,ax > > >If I put the break after mov gs, ax though, the system reboots. > > >Jurgen > >-----Original Message----- >From: Casper Hornstrup [mailto:ch...@us...] >Sent: Wednesday, October 10, 2001 15:56 >To: ros...@re... >Subject: [ros-kernel] Re: RE: Re: Old reactos > > >On Wednesday 10 October 2001 00:40, Jurgen Van Gael wrote: >> When I use the loop in loadros.asm, I get these results: >> >> If I put the break here: >> >> ;; >> ;; Enter pmode and clear prefetch queue >> ;; >> mov eax,cr0 >> or eax,0x10001 >> mov cr0,eax >> .break: >> jmp .break >> jmp .next >> .next: >> >> Then the system freezes with a blue screen >> >> When I put the loop after jmp .next, the system reboots. >> >> Am I right we are talking pmode right now. Could it be that the gdt >> or > >> idt is not setup properly? > >Try changing: > >jmp .next >.next: > > >to: > >jmp next >next: > >IIRC, it should be a far jump to clear the prefetch queue. > >- Casper > >==================================================== >= To remove yourself from this mailing list, go to = >= http://www.reactos.com/home/mailing.html = >==================================================== > >==================================================== >= To remove yourself from this mailing list, go to = >= http://www.reactos.com/home/mailing.html = >==================================================== > > > ==================================================== = To remove yourself from this mailing list, go to = = http://www.reactos.com/home/mailing.html = ==================================================== ==================================================== = To remove yourself from this mailing list, go to = = http://www.reactos.com/home/mailing.html = ==================================================== ==================================================== = To remove yourself from this mailing list, go to = = http://www.reactos.com/home/mailing.html = ==================================================== ==================================================== = To remove yourself from this mailing list, go to = = http://www.reactos.com/home/mailing.html = ==================================================== |