Re: [OT] Documentation for PC Architecture

From: Paolo Ornati
Date: Tue Aug 19 2003 - 03:05:56 EST


On Tuesday 19 August 2003 03:02, Jamie Lokier wrote:
>
> The MMU _is_ used to remap memory addresses. It is part of the CPU itself.
> But it translates what's called "virtual address" space to "physical
> address space". Physical addresses seemingly map directly to RAM and
> memory-mapped I/O.

I know...

>
> Paolo's question is, what happens to the 384k of _physical_ addresses
> starting at 0xa0000, which should correspond with 384k of actual
> physical RAM?

It seems that only you have understand my question! :-)

>
> If you use the MMU to map a virtual address to the physical addresses from
> 0xa0000..0xfffff, then whichever virtual addresses you chose will map to
> video memory, ROM, BIOS etc.
>
> The answer is that after the MMU has translated, a _second_ address
> translation takes place, outside the CPU, which maps the physical addresses
> so that a hole is created in the RAM without any RAM going missing. This
> second translation is done by the motherboard chipset.

OK.

>
> Enjyo,
> -- Jamie


VERY [OT]:

Why do I do all these questions?
At present I'm working on a very small kernel (PabloX :):
- it's very simple: it only uses segmentation and has drivers only for stupid
things like AT-PS/2 keyboard (do you have USB keyboard? I'm sorry!)
- some (a lot of) code is taken from linux 0.01 / 1.0 / ...

If anyone want to see this stupid thing:
http://members.xoom.virgilio.it/javaman/

NOTE: don't read the comments in source code! They are a mix of pseudo-English
and Italian!

To try it:
tar xzf pablox.tar.gx
cd pablox/
make

now you should have a floppy image in ./IMAGE, I suggest insert a floppy and
do "make disk", than reboot and see keyboard leds! (if you have an AT or PS/2
keyboard)

press (1,2,3,4) to switch to console (1,2,3,4): the consoles are stupid! All
the programs write to the current console...
press "ESC" to reboot!


Bye,
Paolo

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/