[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

Re: regarding 0x7c00



Hi

Pratap Chakravarthy wrote:

>
> I think it is not a 32/64 bit 8086 in real mode. It still have 20 bit address space + 64k - 16 bytes becasue of the segmentation technique which i used in the 8086 processor. All the processors from 386 to pentium start in the real mode with 0xffff0 as the starting address. This address is hardwired to the boot ROM. [ I think Itanium directly starts in the protected mode . Some body clear me ?].
>

Yaa.. I mean sorry for my rusty memory. It's been long time....

>
>  hey i think it is turley - titile : advance programming in 80386. It is fantastic book on 80386. you
> can try a search in amazon.com. Worth
> reading.
>

yup... That's what I was trying to recall... Kamesh, this is what you want. It seems that I have donated my copy to somebody...

>
> I think it is tidious to have multiple GDTs. Because for every memory access the segment address is converted to the linear - physical address [dependent on whether paging is enabled or not] using the selector register [CS, DS etc..] and the offset register [IP, etc..]. So to swap the GDTR register the swapper code must be highly suffisticated.
>
> what it is GDT->GDTs->LDTs ? I dont think it is possible.  But still with GDT-> LDTs we can run few thousands of process.

Well few thousand processes are not enough sometimes. Linux has limitations on 4096 processes on intel, which unfortunately hold for SMP too. This is very bad.

IIRC this is been addressed in someway but  don't remember how...

 Thanks for correcting me...

 Shridhar