Commit Graph

14 Commits

Author SHA1 Message Date
thorpej bb84e85802 Change pmap_map_entry() to work like pmap_map_chunk(): take a pointer
to the L1 table and a virtual address, and no pointer to the L2 table.
The L2 table will be looked up by pmap_map_entry(), which will panic
if the there is no L2 table for the requested VA.

NOTE: IT IS EXTREMELY IMPORTANT THAT THE CORRECT VIRTUAL ADDRESS
BE PROVIDED TO pmap_map_entry()!  Notably, the code that mapped
the kernel L2 tables into the kernel PT mapping L2 table were not
passing actual virtual addresses, but rather offsets into the range
mapped by the L2 table.  I have fixed up all of these call sites,
and tested the resulting kernel on both an IQ80310 and a Shark.
Other portmasters should examine their pmap_map_entry() calls if
their new kernels fail.
2002-02-22 04:49:19 +00:00
thorpej 79738a99e9 Keep track of which kernel PTs are available during bootstrap,
and let pmap_map_chunk() lookup the correct one to use for the
current VA.  Eliminate the "l2table" argument to pmap_map_chunk().

Add a second L2 table for mapping kernel text/data/bss on the
IQ80310 (fixes booting kernels with ramdisks).
2002-02-21 21:58:00 +00:00
thorpej d96b0a83af Delete some unneeded comments. 2002-02-21 06:33:05 +00:00
thorpej 425011f621 map_pagetable() -> pmap_link_l2pt(), and move it to pmap.c 2002-02-20 20:41:15 +00:00
thorpej c44b9117f0 Collapse map_entry{,ro,nc}() into a single pmap_map_entry() that
takes a prot and a "cacheable" indicator.
2002-02-20 02:32:56 +00:00
thorpej 9c31f51c34 Rename map_section() to pmap_map_section(), move it to pmap.c, and give it
an extra argument (prot - specifies protection of the mapping).
2002-02-20 00:10:15 +00:00
thorpej cd98cbf7fb * For platforms which are already ELF, remove the definition of
MACHINE_ARCH since <arm/param.h> already sets it correctly to "arm".
* For platforms which are not yet ELF, defined MACHINE_ARCH to "arm32"
  if __ELF__ is not defined by the C preprocessor.
* In <arm/param.h>, clarify the rules about when MACHINE and
  MACHINE_ARCH are defined, and to what.  Also, for ELF platforms,
  int the non-_KERNEL case, force both MACHINE and MACHINE_ARCH to "arm",
  rather than allowing platform-specifc code to define either.
2002-02-12 06:58:18 +00:00
thorpej b55703254f Use sys/dev/md_root.c 2002-02-12 00:50:12 +00:00
thorpej dbb80edc9d Trim some fat:
* COPTS get -Os
* Comment out all COMPAT_* options
* Comment out System V IPC options
* Comment out KTRACE, IRQSTATS, KMEMSTATS, DIAGNOSTIC
* Comment out unneeded devices (audio, joystick, vnd, sequencer)

...and bump the ramdisk size to 3.5M (ELF binaries are somewhat
larger on-disk due to the way the linker pads out the .data program
section).
2002-02-12 00:49:40 +00:00
wiz f7d9c1c5ff s/dnard/shark/ 2002-02-10 18:28:12 +00:00
kleink 618dddf12f Fix RCS Id. 2002-02-10 09:29:19 +00:00
thorpej 18c88948c1 Bring over a couple of files from arch/dnard that will be useful in
the future.
2002-02-10 07:07:07 +00:00
thorpej fa2f3c9fee Forgot to add this file. 2002-02-10 01:59:34 +00:00
thorpej 8067595564 Kill arch/arm32. The last platform supported there, Shark, is now
in arch/shark.

(NOTE: arch/dnard, a premature move to split out the Shark support
code, is going to be deleted.  It has bit-rotted.)
2002-02-10 01:53:06 +00:00