questions..

From: Tim Newsham <newsham_at_nospam.org>
Date: Thu Sep 01 1994 - 21:53:20 PDT

Ok.. in mach/init.c it sets up the page tables. The level1
stuff is:
    text (0),
    data (4megs),
    cr3 (8megs... what is this for?)
    util (12 megs),
    free (16 megs) 1:1 mapping of memory
    .. more free ...

    utext (512 * 4megs)
   
    ustack (1023 * 4megs)

is this all correct? Please point out any errors.

Ok. The big question is... data is moving between when main()
starts up and when the mmu is turned on. Before turning on the
MMU data is the page following text. After turning on the MMU
it is at 4megs. What exactly does GCC put into the data segment?
Is this data just avoided up until the MMU is started?

smaller questions.. What is the 8-12meg mapping for? It points
back to the top level (level 1) table. What effect does this
have?

The first page of text is invalid according to the MMU. It appears
that text starts at 4K rather than 0K. Is this correct? Does
the linker usually load to this address or is this requested
specially?

                               Tim N.
Received on Thu Sep 1 20:45:29 1994

This archive was generated by hypermail 2.1.8 : Thu Sep 22 2005 - 15:11:45 PDT