Re: [OT] Documentation for PC Architecture

From: Herbert Pötzl
Date: Mon Aug 18 2003 - 17:56:42 EST


On Mon, Aug 18, 2003 at 11:11:53PM +0200, Paolo Ornati wrote:
> >
> > > Curiosity: since the memory addresses from 640KB to 1MB are reserved for
> > > memory mapped I/O (video memory) and BIOS ROM... the corrispondent range
> > > in
> >
> > uh oh ...
> >
> > > the REAL MEMORY isn't usable and so we lost 384KB of memory. Is this
> > > right?
> >
> > for DOS, withouth upper memory manager yes ;)
>
> I'm talking about an OS in protected mode... in any case how
> can I access to this memory region if it's mapped for other things?

this is usually done via the MMU which can do miracolous
things to memory and addresses ...

> I've done some tests with a simple kernel which I wrote: all that region
> (except video memory at 0xb8000) results "read only"...

because it is usually designated as rom area, which naturally
is read only ...

> So I THINK YOU mean: "you can use more than 640KB in real mode using
> a memory manager that "remap" 0xC0000 (for example) to 0x100000 or
> something like it"

basically a memory manager (depending on the processors
capabilities) does either use memory mapping or simple
memory exchanging between designated regions and above
1M+64k memory ...

given an apropriate address mapping (via mmu) you should
be able to access the entire memory (not just the first
megabyte) without disturbing any memory mapped hardware ...

how could this be possible? simple there are 32 address
lines on a full 386 and above, which gives you 4GB of
physical memory addresses, now the memory mapped hardware
(pci,agp, but also isa) is only activated if the address
lies within a defined range. memory can be designated to
a different range, like (ep)roms ...

for example the Intel 386EX allows to define signals for
each configured memory range (chip selects) to enable or
disable the devices (memory) on demand, other systems
use some chipset/onboard logic to do this ...

> Right?
>
> 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/
-
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/