Commit Graph

404 Commits

Author SHA1 Message Date
simonb 18b2f7e6a1 Add a port to IBM's PPC405GP Reference Board (the "walnut")
by Eduardo Horvath and Simon Burge of Wasabi Systems.

IBM 4xx series CPU features:
 - New pmap and revised trap handler.
 - Support on-chip timers, PCI controller, UARTs
 - Framework for on-chip ethernet and watchdog timer.
General PowerPC features:
 - Add in-kernel PPC floating point emulation
 - New in{,4}_cksum that is between 1.5 and 5 times faster than the
   old version depending on CPU type.
General changes:
 - Kernel support for generic dbsym-style symbols.
2001-06-13 06:01:44 +00:00
tsubai 713feac239 Include powerpc/mpc6xx/{bat.h,pte.h} if PPC_MPC6XX is defined. 2001-06-12 17:20:50 +00:00
simonb 0bdd2faeed Get the opcode mask right for almost all the Op_OE opcodes (only two were
correct).
2001-06-12 05:31:44 +00:00
tsubai a3496ef8a8 When invoking the pcb_onfault mechanism, pass the return value of uvm_fault()
to the onfault routine.
2001-06-10 16:31:59 +00:00
tsubai 29d06d028c Fix printf format error. 2001-06-10 15:54:05 +00:00
tsubai bedfcf904c libkern.h is included in systm.h. Not needed here. 2001-06-10 15:05:44 +00:00
tsubai 5a051092e4 Rename ofb_softc to ofbus_softc. (XXX Is this good name?) 2001-06-10 11:36:03 +00:00
tsubai f6482742de pte_spill -> pmap_pte_spill. 2001-06-10 11:09:28 +00:00
tsubai fafb5d4bc3 Make the new pmap optional. Use the old (stable!) pmap by default. 2001-06-10 11:01:26 +00:00
matt 66822e55be Fix a spl issues. Turn on PMAPCHECK until instability problems are found.
Add a pmap_pvo_verify call you call it from it ddb and verify the pmap
data structures are sound.  Fix warnings when DEBUG was turned on.
2001-06-10 07:56:36 +00:00
matt b9ef9e99da Print a more informative is a uncatchabl DSI or ISI exeception happens in
kernel mode.
2001-06-10 07:49:13 +00:00
briggs c97896cd4d Pull avail_start/avail_end logic for bus_dmamem_alloc() from macppc port,
as suggested by matt@netbsd.org--the vm_physmem array may not be in order.
2001-06-10 02:31:25 +00:00
briggs a2b115fa4c Up the default # of NMBCLUSTERS to 2048 (GATEWAY) & 1024 (non-GATEWAY)
from 512/256.
2001-06-10 02:28:57 +00:00
matt f6d422beb8 Fix warning about braces & if. Include libkern.h for strncpy prototype 2001-06-08 00:21:45 +00:00
matt 75a27eccff Rename pte_spill to pmap_pte_spill. Fix pmap_clear_{referenced,modify}
to return the previous state of the bit.  Make it compile under
-Wmissing-prototypes -Wall.  Change around some debug stuff.
2001-06-08 00:16:24 +00:00
matt e38a49d835 Include a common bus.h and bus_dma.c that powerpc ports can use
if they so choose.
2001-06-06 17:37:37 +00:00
matt 938edd5b75 Introduce a new & faster pmap for the MPC6xx (60x, 7xx, 7xxx) PPC CPUs.
Move MPC6xx dependent header files to powerpc/include/mpc6xx/
2001-06-06 17:36:01 +00:00
chs 821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
tsubai 1a891f65d4 One more gcc-2.95 issue. 2001-05-31 09:19:25 +00:00
tsubai ba87a6d444 Add gcc-2.95 version. 2001-05-30 20:37:48 +00:00
tsubai 2eae10adb5 Inline bswap{16,32} when the argument is constant. 2001-05-30 13:08:34 +00:00
mrg 67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
matt 0a3911863f Use structure assignment instead of bcopy. 2001-05-28 00:15:10 +00:00
matt 8fb5853698 Change the bcopy's to structure assignments. 2001-05-28 00:12:21 +00:00
matt e2148768dc Change _MACHINE_PIO_H to _POWERPC_PIO_H 2001-05-27 20:59:15 +00:00
chs 11a9651c8f replace vm_page_t with struct vm_page *. 2001-05-26 21:27:10 +00:00
matt b590763f79 Call __syncicache in db_write_bytes. (makes breakpoints work better). 2001-05-18 20:38:27 +00:00
simonb 96a430ba30 If _SOFT_FLOAT is defined, pull floating point va_args from the GPR
area and not the FPR area (by having the double argument type test
always fail).

Fixes problems using <stdarg.h> with -msoft-float.
2001-05-16 15:41:03 +00:00
simonb b3a4957ee5 Fix spr and tbr register number extraction. tbr is untested, but is the
same format as spr and had the same mistake.
2001-05-06 16:40:22 +00:00
simonb 982e593742 Remove duplicate opcode. 2001-05-06 16:11:17 +00:00
simonb ad336f45ee Fix a bunch of other typos. 2001-05-06 15:30:13 +00:00
simonb 2113399bb4 Fix typos in two instruction codes. 2001-05-06 14:25:09 +00:00
simonb 6a511e05e2 Be consistent with limit constants:
- use "U" suffix for unsigned constants
 - use "L" suffix for long constants
 - use "UL" suffix for unsigned long constants
 - use hexadecimal instead of decimal

Fixes build problems with vi (now that warnings/errors are enabled) on
mips, powerpc and arm platforms.
2001-05-04 15:12:32 +00:00
soren 945b972563 PPC machine type tags haven't been used for a while. 2001-05-03 13:11:24 +00:00
martin 77a926d775 Avoid nesting structure declarations, where the nested structur is used at
the global level later. Besides stylistic matters, this actually breaks C++
programs (indirectly) using this header.
2001-04-30 15:30:39 +00:00
kleink fe3c9ceaf7 * Move definitions of exact-width integer types from <machine/types.h>
to <sys/types.h> and <sys/stdint.h>.
* Add a new C99 <stdint.h> header, which provides integer types of
  explicit width, related limits and integer constant macros.
* Extend <inttypes.h> to provide <stdint.h> definitions and format
  macros for printf() and scanf().
* Add C99 strtoimax() and strtoumax() functions.
* Use the latter within scanf().
* Add C99 %j, %t and %z printf()/scanf() conversions for
  intmax_t, pointer-type and size_t arguments.
2001-04-28 15:41:28 +00:00
kleink 99054d7a6c Add definitions for C99 fastest minimum-width integer types. 2001-04-26 16:25:19 +00:00
thorpej 1c3a62e066 Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative.  It may be possible to
optimize these a little more.
2001-04-24 04:30:50 +00:00
thorpej 55044638aa Remove pmap_kenter_pgs(). It was never really adopted by
anything, and the interface itself wasn't as flexible as
callers would have probably liked.
2001-04-22 23:42:11 +00:00
thorpej 69abdbf60c Undo a misguided previous change to the pmap_update() API. 2001-04-22 23:19:26 +00:00
thorpej 4738622712 Give pmap_update() an argument (a pmap_t) so that it knows which
pmap it should be updating.
2001-04-22 00:33:59 +00:00
thorpej 7f10ba88b1 #define away pmap_update() in <machine/pmap.h> so that no function
call overhead is incurred as we start sprinkling pmap_update() calls
throughout the source tree (no pmaps currently defer operations, but
we are adding the infrastructure to allow them to do so).
2001-04-21 23:51:14 +00:00
kleink f06533a1ee Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink 739cb75837 Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink cdcf9f46c5 Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
2001-04-14 22:46:19 +00:00
kleink a7c20e5788 Add definitions of C99 integer constant macros. 2001-04-14 22:38:33 +00:00
kleink 7affdab52e Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
kleink 9133b51cd8 Replace the 'unsigned __COMPILER_INT64__' construct with a new name,
__COMPILER_UINT64__, to be supplied - if such a case is made, it shouldn't
be assumed that the unsigned type-specifier may be applied to it.
2001-04-12 22:01:18 +00:00
manu bb1594b20b Integrated security review for signal delivery by Wolfgang Solfrank 2001-04-11 19:41:02 +00:00
simonb 1c69191831 Fix typo - s/dbcst/dcbst/. 2001-04-06 16:48:11 +00:00