****************************************
* LUG meet on 12 Jan. 2003 @ VJTI
****************************************

Hi Nikhil,

Its almost the correct sequence. 

 >It is the job of the OS to take 386 from Real to
 > Protected Mode ( maybe by  setting the CR0 bit, 
 > I'm trying to find this in the  Kernel sources :) 

CR0 is a register not a bit. It contains system
control flags. Switching from Real Mode to Protected
mode happens when the PE  (Protection Enable)  bit in
this register is set. I think protected mode is
enabled in /usr/src/linux-2.4/arch/i386/boot/setup.S
section "code32_start" and paging is enabled in
/usr/src/linux-2.4/arch/i386/kernel/head.S section 
"startup_32". 

 > Now it is expected that Track 0 contains
 >valid OS. (Some Magic Number AFAIK)
 >Now where does the Bootloader come into picture? ( 
  I >dunno pls someone elucidate on this)

BIOS looks for the content of sector 0 (bootsect.S in
linux). If it has the magic number 'AA55' at offset
510 it is considered valid. In case a bootloader is
used , part of the  bootloader (lilo etc.) exists  in
the bootsector(Sector 0) and has the magic number
AA55.

Verify this in :-

/usr/src/linux/arch/i386/boot/bootsect.S
   (note : this file is used when lilo not used)    
  

regards,
Sabu



--- Nikhil Joshi <[EMAIL PROTECTED]> wrote:

> 
> 386DX has 3 modes:
> 
> 1. Real Mode (for older apps, specifically for
> 8086/88 support)
> 2. Virtual Real Mode or Virtual 86 mode(for having
> (some) protected mode
>    feat. in real mode)
> 3. Protected Mode
> 
> Protected mode has following advantages:
> 
> 1. Full 32 bit addressing
> 2. Better interrupt/fault handling (more no. of
> interrupt conditions
>    possible)
> 3. Multiuser, Multitasking environment possible
> because of different
>    previlege levels, task switiching thru call gates
> and interrupt
>    gates, etc.
> 4. Data is secure at the hardware level. Non
> previleged task will not be
>    able to access higher privelege data segment
> 5. Better memory management
> 
> and more ...
> 
> However it is interesting to note that whenever 386
> is reset it will go
> into Real Mode by *default* (obviously for DOS and
> other real mode OSes
> which dont know about protected mode.)
> 
> It is the job of the OS to take 386 from Real to
> Protected Mode ( maybe by
> setting the CR0 bit, I'm trying to find this in the
> Kernel sources :) )
> 
> After protected mode has been initialized, kernel
> loads the IVT
> (Interrupt Vector Table ), the previlege levels of
> the data and code
> segments ( *maybe* this facility is used for user
> level file
> acess/execution previleges ) and continues loading
> the OS.
> 
> P.S.
> But how the Kernel is loaded in first place by the
> BIOS?
> Conjecture:
> 
> When reset, 386 points to a default location in
> PROM. ( the
> location is FFFF0H note: for 8086 compatibility 16
> bit address)
> 
> The default location then has a subroutine which
> passes control to the
> BIOS (a sort of PROM right ?)
> 
> Now BIOS performs the IO checks. Afterwards it
> searches for address (Track
> 0) of a media (CDROM/HDD/FDD). Now it is expected
> that Track 0 contains
> valid OS. (Some Magic Number AFAIK)
> 
> Now where does the Bootloader come into picture? ( I
> dunno pls someone
> elucidate on this)
> 
> Ok lets assume that Bootloader "fools" BIOS in
> believing that it actually
> is an OS.
> 
> Now control is transferred to the bootloader which
> according to the option
> selected loads the kernel of the selected OS.
> The kernel now continues with its operation....
> 
> whew...
> Can someone pls tell whether this is the right
> sequence?
> 
> -- 
> Nikhil
> Earth,19.12N 73.02E
> 
> -- 
> _______________________________________________
> 
> http://mm.ilug-bom.org.in/mailman/listinfo/linuxers
> 
> 
> 

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

-- 
_______________________________________________

http://mm.ilug-bom.org.in/mailman/listinfo/linuxers



Reply via email to