Commit Graph

111 Commits

Author SHA1 Message Date
he 45cee85f31 Remove the hack to compile oea/pmap.c with -Wno-cast-qual, and instead
make use of the new __UNVOLATILE() macro in memset() usage.
2005-06-02 14:35:08 +00:00
he f483e62113 Put a band-aid over the cast qualification warnings for oea/pmap.c.
It cannot be compiled with -Wno-cast-qual due to a volatile pointer
being passed to memset(), and there's no easy way other than open-
coding memset() to fix this.  So instead we cheat for now and add
-Wno-cast-qual to CFLAGS for this file.  To be documented in doc/HACKS.
2005-06-02 10:22:20 +00:00
christos f6b4c20f18 s/GENASSYM/GENASSYM_CONF/ so we can use "GENASSYM" as the program name. 2005-05-31 04:03:08 +00:00
matt 4612c7a119 When building kernel for OEA, allow unaligned accesses since OEA
processors will deal with them properly.
2005-02-12 00:03:21 +00:00
shige 5ed37446b2 Add gpio module. 2005-01-23 19:24:31 +00:00
shige 50f317e0f4 Add board properties database code. 2005-01-17 17:13:49 +00:00
matt eb30eca3e3 Add -Wa,-maltivec so that AltiVec instuctions will be recognized. 2004-12-09 22:57:12 +00:00
manu 7fef082024 Move all the MD bits of commpage to a new file.
Map the comm page as RW in kernel (we want to modify it but not to execute it),
and RX in userland (no need to modify it but we want to execute it
2004-07-03 22:17:18 +00:00
thorpej e33c2bb5d5 Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.
2004-06-04 04:45:49 +00:00
matt 0f0d66d66e Add entry for netns/ns_cksum.c 2004-04-18 23:31:45 +00:00
aymeric 3ddd2de94c defparam PMAP_MEMLIMIT 2004-03-17 14:14:02 +00:00
briggs ad7a849c27 Change CPPFLAGS to -D${MACHINE}=${MACHINE} instead of just -D${MACHINE}
This makes it possible to define header files on the command line that
might include ${MACHINE} somewhere in the path.  This might be used in
evbppc, for example, when defining PPC_PCI_MACHDEP_IMPL as, for example:

PPC_PCI_MACHDEP_IMPL="<arch/evbppc/sandpoint/pci_machdep.h>"

which will be included as

#include PPC_PCI_MACHDEP_IMPL

Prior to this change, the compile would fail trying to include
<arch/evbppc/1/pci_machdep.h>
2004-01-06 18:44:57 +00:00
scw 1ba37196a9 Include arch/powerpc/ibm4xx/intr.c only if a particular board actually
uses the generic 4xx interrupt implementation.
There are some 4xx boards with entirely different interrupt controllers.
2003-11-19 14:27:24 +00:00
shige 0af4acb526 Add Real time clock support code. 2003-10-06 18:15:08 +00:00
scw 2ba7642346 MD i2c glue for the 405GP's onboard IIC controller.
Bit-bang only for now.
2003-10-06 16:15:46 +00:00
simonb 953b5b465b Add a dependancy on assym.h; helps "make -j N" kernel builds. 2003-09-29 05:14:23 +00:00
matt 85a5f3065d Add siginfo support for PowerPC. 2003-09-25 18:42:18 +00:00
shige 94959351e8 Add IBM405GPx specific kernel configuration file. 2003-09-23 15:06:40 +00:00
shige ff6df75f63 Add on-chip IIC driver.
Add some definitions for IIC driver.
2003-09-23 14:56:08 +00:00
matt a3a18840be Remove SPILLSTK leftovers. 2003-08-12 05:15:41 +00:00
matt 341742a7e9 Add PTEGCOUNT defparam for opt_pmap.h 2003-08-11 01:33:30 +00:00
matt e3e80aa5d7 Add PPC_OEA64 and netbsd32_sigcode.S 2003-08-03 21:38:08 +00:00
matt 5819fb160d Elimindate MD setrunqueue/remrunqueue (which were out-of-date compared to
the canonical versions in kern_synch.c).  Define __HAVE_BIGENDIAN_BITOPS
so the canonical versions will be used but will store priorities in the
desired (MSB) order for PowerPC (which allows the use of the cntlzw (count
leading zeroes, word) instruction in locore_subr.S to find the proper
priority).
2003-07-18 01:08:10 +00:00
christos 6ec2f52f71 rename Locore.c -> locore_c.c so that we can compile on case insensitive
filesystems. (from John Gordon)
2003-05-08 12:37:36 +00:00
matt c7b0df67b4 Add CLOCKBASE to opt_ppcparam.h. 2003-03-17 16:53:52 +00:00
hannken 44b1e07ec9 Add support for the IBM 403GCX cpu. Enabled with "options PPC_IBM403".
- different set of device control registers.
  - non-standard access to the time base.
  - 16 byte cache lines.

Approved by: Eduardo Horvath <eeh@netbsd.org>
2003-03-11 10:40:15 +00:00
jklos b9f3bdb8fb Added L3CR_CONFIG to the parameter list for 745x L3 cache configuration. 2003-02-26 21:14:32 +00:00
matt 8609ed56b8 Only define KERN_AS= object if IDENT has -DLKM. 2003-02-24 07:15:40 +00:00
matt b42cde14b7 Set KERN_AS=obj now that LKMs work. (otherwise when you loaded LKMs they
wouldn't have all the library routines available).
2003-02-19 23:55:48 +00:00
matt 2b0e97a561 Rename PPC_MPC6XX to PPC_OEA (and any mpc6xx reference to oea). 2003-02-03 17:09:53 +00:00
matt 193a5761aa Remove OLDPMAP support. 2003-02-02 21:22:11 +00:00
matt 7c1e50a21a Perform a rototill of the powerpc code. Mandate use of SPRG0 to store
a pointer to current cpu's cpu_info structure.  Use cpu_info for
intstk,intr_depth,still_stk,idle_pcb,curpcb,curlwp,etal even on
non-MULTIPROCESSOR machines.  Add common macros GET_CPUINFO and
INIT_CPUINFO to get and initialize the cpu_info struct on startup.  Make
ibm4xx use the standard <powerpc/frame.h>.  Use IFRAME_xx in ibm4xx
trap_subr.S instead of explicit magic offsets.  Move INTSTK and SPILLSTK
to std.<platform>.  Change faultbuf to a struct instead of an array.

On MPC6XX cpus, stop using the vector page for temporary space and use
reserved space in cpu_info.
2003-02-02 20:43:17 +00:00
augustss a89cd41b68 Add NEED_SYMTAB to run dbsym. 2003-01-01 16:14:36 +00:00
manu 53356d6169 Added an empty shell for signal delivery. Now we just have to fill the
machine dependant bits.
2002-11-25 22:25:12 +00:00
thorpej 02c69e5261 Put interface attributes on the device, not another attribute with
the same name as the device.
2002-11-23 19:42:41 +00:00
manu 93df539f73 As we use one FreeBSD file for COMPAT_DARWIN, we must include file.freebsd 2002-11-17 00:59:13 +00:00
manu 530968e795 The kernel now builds with COMPAT_DARWIN. 2002-11-12 23:40:19 +00:00
manu 873ed6f9ee Added support for Darwin's PowerPC-only system calls:
ppccalls, with system call numbers starting at 0x6000
fasttraps, with system call numbers starting at 0x7FF0

Because the Mach system call dispatching code has grown a bit
too much, introduce an inline function to handle it (mach_syscall_dispatch).

While we are there, remove the Mach and Linux includes from
arch/powerpc/powerpc/syscall.c and push them into
arch/powerpc/powerpc/{mach|linux}_syscall.c
2002-11-03 23:17:18 +00:00
manu fddf44c0bf Add COMPAT_MACH and EXEC_MACHO support on the PowerPC 2002-10-30 06:41:45 +00:00
manu a3da524774 Prepare syscall.c for COMPAT_MACH support. linux_syscall_intern is
moved to a Linux specific file, child_return is moved to trap.c,
and we introduce a EMULNAME macro co that syscall.c can be included to
define the system call handler for another emulation.
2002-10-30 06:37:37 +00:00
manu fe4e91080d Moved binary compatibility options from arch directory to cpu directory 2002-10-30 06:26:42 +00:00
scw 5b79fdfaf7 Add "ecc at plb" device.
Add an "irq" locator to the plb device.
This gets rid of the original hack where ecc support was wedged into
the cpu driver.
2002-08-23 15:01:07 +00:00
scw c4fdfebd38 Allow port-specific Makefiles to override the name and location
of locore.[So].
This is in preparation for arch/evbppc.
2002-08-23 12:01:58 +00:00
matt 5ba45ecc9c defflag PMAPDEBUG, PMAPCHECK, and PMAPCOUNTERS into opt_pmap.h 2002-08-18 17:17:59 +00:00
simonb 42dede3769 Move 4xx devices to their own config include file so they can be used
elsewhere.
2002-08-13 05:29:25 +00:00
chs 804e68d33a reimplement copy{in,out}str() similarly to copy{in,out}()
(instead of the old way of calling [fs]ubyte() in a loop).
2002-07-24 04:59:32 +00:00
matt 436f257283 Add a common file to do pmap_zero_page/pmap_copy_page/pmap_pageidlezero and
pmap_syncicache.  This file uses a ppc feature in a sick and twisted way
to avoid mapping the physical pages used by those routines.  It performs
the operations with the MMU disabled but PPC exception save and retstore
the machine state and are invoked with the MMU disabled, this doesn't have
an adverse effect on the system.

Currently only enable for MPC6xx and !OLDPMAP.
2002-07-17 03:11:07 +00:00
matt 685778b53b Peform a rototill over the powerpc-based ports.
Move the trap/vector initialization for MPC6xx ports to mpc6xx_machdep.c
Also move softnet, install_extintr, mapiodev, kvtop.  Add common BAT
initialization code.

Add user Altivec support.

Fix calls to OF_call_method in macppc/macppc/machdep.c.

Use ci_fpuproc in cpu_info instead of separate fpuproc.

Add separate syscall.c and defined __HAVE_SYSCALL_INTERN.
2002-07-05 18:45:15 +00:00
augustss cea3466ea6 Add NEED_BINARY, similar to NEED_SREC. 2002-05-19 18:57:33 +00:00
matt 66c475ca19 Use a common genassym.cf for all the PPC_MPC6XX ports. Add a makeoptions to
std.foo to indicate the directory to get genassym.cf from.  Add an intrframe
to <powerpc/frame.h> and make trap_subr.S use symbolic offsets into it.
2002-04-18 20:08:05 +00:00