Commit Graph

53 Commits

Author SHA1 Message Date
reinoud
72854dc39d Finally make the RiscPC boot ELF kernels for real !! ... it now loads a.out
kernels as also ELF ones. Also cleaned up the code a bit and removed a
bunch of errors in the ELF loading code... no wonder it didn't work ! ... I
tried to squeeze about 8000 bytes in one 4096 byte page resulting in a
corrupted bss.
2001-09-18 23:23:22 +00:00
chris
9f04d8d670 A couple of tidy ups to pmap:
pmap_t -> struct pmap * in pmap.c and pmap.h
kernel_pmap -> pmap_kernel() everywhere.

Compiled and booted on riscpc and cats.
2001-07-28 18:12:43 +00:00
bjh21
ea353a48e1 Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed. 2001-07-10 20:43:57 +00:00
reinoud
8ca7d6ec9c Initial commit for merging A7000/NC with the RISCPC in order to get _one_
bootable GENERAL kernel for the 3 machines.

This is done by integrating the ARM7500 in a better way. In various places
the IOMD ID is checked and action is taken at runtime compared to
compiletime.

The small piece of assembler that is changed now uses the flag
`arm7500_ioc_found' that is set up by iomd.c at startup. When this chip
isnt found at startup it will skip reading the ARM7500 extended IRQ
registers and wont clear them either.

The next step will be getting the mode-definition files to the bootloader.
Currently they are compiled in.
2001-07-09 21:46:19 +00:00
wiz
ac951736bc response', not responce' 2001-06-19 13:45:52 +00:00
wiz
f3f6c5b675 accessible' only has one a'. 2001-06-19 12:52:20 +00:00
reinoud
b592059273 Just some pretty printing for 640 width screens 2001-04-09 19:22:42 +00:00
reinoud
df2b9ae2bd Initial commit of wscons for the RiscPC/A7000 arm32 family. There is still lots
to do notably the mouse, some issues about 4 bpp modes and most of all Xwscons !

This code will still allow usage of the old vidcconsole complete with X etc.
Note that the wscons code can now only be booted with the new bootloader but
kernels compiled with vidcconsole can still be booted the old way.
2001-03-20 18:20:53 +00:00
matt
d6fc837c17 more vm_offset_t/vm_size_t -> {p,v}{addr,size}_t changes
move pmap_* declarations to pmap.h.  fix conflicts this
exposed (e.g different definitions for pmap_bootstrap).
2001-03-04 19:05:55 +00:00
reinoud
5cc6423696 Fixed the bug that crept into giving support for moving IOMDs during startup.
Initially I gave it the type `int *iomd_base' but some macro's defined in
iomdreg.h calculated with the value asuming it to be an int ... thus all the
registers offsets were multiplied by four and that can only mean trouble !
The kernel boots again ever happily. Sorry for the inconvenience... it was
a good bug hunt though!
2001-03-02 01:46:57 +00:00
reinoud
3500dc208f Centralise declaration of memc_base 2001-02-27 20:23:11 +00:00
reinoud
e4e4d358a0 Fixed IOMD remapping during boottime 2001-02-25 23:59:48 +00:00
bjh21
3fb058011a Move arm32 ports over to using <arm/armreg.h>, so <cpu.h> mostly contains
NetBSD-specific definitions.

This also entails some changes to the way CPU identification is done.  I hope
I've got it right.
2001-02-25 21:31:13 +00:00
reinoud
1a53c63fd7 Finally implemented the moving VIDC chip; this solves the red colour too at startup
for RiscPC, A7000 and RC7500. A better solution should be made but is currently
unavailable for all the VIDC stuff isnt using bus_space at all...
2001-02-25 17:17:55 +00:00
reinoud
7535275b7c Fixed the `slow printing' bug that occured with debugged kernels on RiscPC's.
When the IOMD isnt mapped and all is mapped 1:1 a read gives garbage and thus
the obscure feature that slows down printing (or halts it!) when the mouse
button is pressed during output to the vidcconsole gets allways activated.

Included a simple flag that signals if the IOMD is mapped; the delay routine
won't check the mouse if this flag is still clear.
2001-02-24 21:29:38 +00:00
reinoud
37eca554a2 vidcvideo rename phase 2 : getting it to build again; tested ok 2001-02-21 00:51:26 +00:00
bjh21
d7fca27e58 Garbage-collect vestigial support for the Simtec Hydra board. The main code
to support it was never committed to the tree, and it would probably need
major reworking anyway.
2001-02-19 13:29:39 +00:00
reinoud
9dd76bf15d Updated the bootloader for RiscPC/A7000/NCs etc. remains compatible with the old bootloader by an COMPAT_OLD_BOOTLOADER option 2001-02-18 00:59:33 +00:00
mrg
2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
ws
b7570cae85 Update several ports to at least work again without IPKDB
after the update of that.
Sorry for breaking this with my last changes :-(.
Fixes PR#9671 by Lennart Augustsson.
2000-03-24 17:05:30 +00:00
soren
95054da1a1 Fix doubled 'the's in comments. 2000-03-13 23:52:25 +00:00
thorpej
11cae42531 Centralize the declaration and clearing of `cold'. 1999-09-17 19:59:35 +00:00
thorpej
3ebbe095e0 Change the pmap_extract() interface to:
boolean_t pmap_extract(pmap_t, vaddr_t, paddr_t *);
This makes it possible for the pmap to map physical address 0.
1999-07-08 18:05:21 +00:00
mark
8885cdd879 Implement a workaround in initarm() for a problem that stopped ARM610
and some ARM710 processors from completing their initial bootstrap.
Fixes PR7595.
1999-05-28 09:59:31 +00:00
mark
99804cc3e7 Nuke old prototype of allocsys(). 1999-05-27 09:04:11 +00:00
mark
46b87f5da5 Changed the way in which virtual address space is reserved for the SA110
fast cache clean area as the recent pmap changes mean that the existing
approach no longer works. Fixes PR7272.
1999-04-06 06:57:00 +00:00
mycroft
665b05efd4 GC physical_memoryblock. 1999-03-29 10:02:19 +00:00
mark
9b3c03f9cc Update for name change of pv_addr_t structure members. 1999-01-03 02:23:27 +00:00
mark
249cdfe998 Convert b*() functions to mem*(). 1998-09-06 04:20:37 +00:00
mark
80d8aa6034 Remove a couple of redundant lines. 1998-08-31 00:08:11 +00:00
mark
c4ae202098 Further improvements to init_arm(). Use map_chunk() to map a number of
areas of the kernel include the text, data and bss.
1998-08-30 23:19:37 +00:00
mark
4ad81305d5 Initialise boot_args and boot_file to NULL. 1998-08-29 03:53:17 +00:00
mark
22a3c54923 Use KERNEL_VM_SIZE to calculate the number of page tables needed for
the kernel data area.
Don't map the proc0 L1 page table into the L2 page tables space.
1998-08-29 03:17:27 +00:00
mark
808c0cca58 Fix bug with zeroing kernel page tables that I introduced yesterday. 1998-08-28 20:04:35 +00:00
mark
1cb7a16aed Fix typo. The page table allocation loop in initarm() should be
<= NUM_KERNEL_PTS rather than < NUM_KERNEL_PTS.
1998-08-28 17:15:45 +00:00
mark
17dcbf485c More reworking in initarm().
Further cleanup and simply the allocation and mapping of the kernel
  pagetables and static data pages.
  Removed the page directory page table as it is no longer necessary.
  Changed the allocation of the proc0 L1 page table and L2 page table
  that maps the page tables to map these pages into kernel virtual
  address space.
  Updated for pv_addr_t argument changes to pmap_bootstrap().
1998-08-28 02:58:41 +00:00
mark
c5695ed630 Centralize the definition of pv_addr_t to pmap.h 1998-08-27 04:00:53 +00:00
mark
34f8ef18c9 Updated for changes to some of the constants defined in vmparam.h
Simplified serveral parts of the initarm() to make the code clearer and
modified parts of initarm() as part of an on-going effort to abstract
out part of initarm() on various machines.
1998-08-25 22:03:07 +00:00
mark
b75234f009 Add calls to cpu_cache_cleanID() after calling setttb() during initarm().
This is necessary as the memory addresses being used for the cache clean
(if the CPU is a SA110) may have been remapped by the setttb() call and
thus the cache could loose sync with memory.
1998-08-25 03:10:25 +00:00
mycroft
d5eb56b2c2 Move splclock and splaudio outside splimp. 1998-08-08 23:39:38 +00:00
mark
9dccefd1c9 Simplify the included files. 1998-07-08 00:10:44 +00:00
mark
4a463e49fe defopt CPU_* options in opt_cputypes.h 1998-07-07 03:05:15 +00:00
mark
9161d5ab60 Include opt_pmap_debug.h for PMAP_DEBUG defopt. 1998-07-06 02:40:42 +00:00
jonathan
466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
mark
398bab14be Removed pagetables_start as this is a dead variable.
Declare process_kernel_args() as static.
1998-06-24 18:40:10 +00:00
tv
00ede2160e Change ddb_init() for a.out to provision for kernels which are not booted by
the current 'bootblock' method, like the Shark, which preloads and preformats
the symbol table right in the boot code.
1998-06-09 01:57:41 +00:00
mark
9bbde6c952 Overhaulled cpu_reboot(). Junked all the boot action garbage and just use
howto to dictate what operations to perform.
Removed support for calling the deprecated kshell stuff.
Cleaned up a few bits of dead code and renamed rpc_sa110_kickstart() to
rpc_sa110_cc_setup().
1998-04-19 03:59:19 +00:00
mark
a55279da6a Updated to use cpu_reset() rather than boot0().
Set cpu_reset_address to 0x00000000 for currently supported systems.
Update associated comments.
1998-02-22 00:08:16 +00:00
mark
c273b285d8 Remove local prototype of savectx().
Updated all map_section() function calls to map sections as non-cacheable.
1998-02-21 23:04:54 +00:00
mark
3f9be879af Removed unused variables and prototypes.
Added missing prototypes.
1998-01-18 04:55:20 +00:00