Commit Graph

27 Commits

Author SHA1 Message Date
simonb f0302072f1 Use "ibm4xx" instead of "galaxy"; galaxy was an early code name for the
405GP.
2002-08-13 05:43:24 +00:00
simonb 6bf1aaf8eb Reorganise the IBM 4xx bus layout, using terminology from the IBM
documentation:
 - Remove "mainbus" altogether.
 - The new root is "plb" - the Processor Local Bus.
 - Attached to this is the "opb" - the On-chip Peripheral Bus, to which
   all the on-chip devices are attached (except the cpu and pci host
   bridge).
 - Port-specific code can pass an array of 'struct plb_dev' to
   config_rootfound() to attach extra devices to the plb.  The walnut
   port attaches a "pbus" (Peripheral Bus) in here for the RTC and
   pc keyboard controller to attach to.
There is still much 405GP specific code; the next round of changes will
generalise this to enable easier support for other 4xx CPUs.
2002-08-12 02:06:18 +00:00
briggs 0b956d0b8b Implement pmc(9) -- An interface to hardware performance monitoring
counters.  These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface.  Initially, the Intel XScale
counters are the only ones supported.
2002-08-07 05:14:47 +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
thorpej dada8613e1 Let machine-dependent code specify how to enumerate the bus.
Currently, everyone uses pci_enumerate_bus_generic().
2002-05-15 19:23:51 +00:00
eeh 253a2ae2f4 Redirect to powerpc/include/ibm4xx/dcr405gp.h 2002-03-13 23:10:36 +00:00
eeh 3b27dc6be4 Use powerpc/include/ibm4xx/cpu.h. 2002-03-13 23:07:47 +00:00
eeh baf1e04c3c board_cfg_data is now in cpu.h 2002-03-13 19:27:02 +00:00
eeh 478fa29f6b Add a ppc4xx_tlbflags macro. 2002-03-13 19:26:07 +00:00
eeh a41c1f25cb Fixup comments. 2002-03-13 19:24:46 +00:00
eeh 353b53f75a Move DCR definitions here since they are implementation specific. 2002-03-13 19:22:46 +00:00
eeh 3b7b449d26 Separate mainbus from pcibus. 2002-03-13 19:19:49 +00:00
simonb 4324f37586 Use "#define<tab>". 2002-02-28 03:17:23 +00:00
kleink d5fe2ac32f Declare the id argument to pci_conf_hook(9) as pcireg_t, which is more
appropriate.
2002-02-25 00:34:13 +00:00
kleink 4691174484 Move the declaration of pci_conf_hook down to <machine/pci_machdep.h>;
a port may choose to implement it not as a function but i.e. as a
pci_chipset_tag_t function vector.
2002-02-11 17:24:00 +00:00
wiz 9baadd8ee5 "doesn't" should have an 's'. 2002-02-11 11:19:26 +00:00
wiz f78eb76cbe achive is not a good word. 2002-02-11 10:57:57 +00:00
soren 662f877587 MAXSLP is defined to be a machine-independent scheduling parameter,
so move it into sys/param.h.
2001-11-15 18:06:11 +00:00
eeh d0f2652711 Overhaul the interrupt system to use hardware interrupts directly. 2001-11-08 23:28:13 +00:00
simonb e716956a0e Calculate the hardware interrupt to irq mapping array and irq mask from
the irq to hardware interrupt mask map instead of using two different
interrelated arrays and a bit mask that I've got wrong more than once
when updating by hand (including when I recently added the keyboard/mouse
interrupt mappings).  Now only the galaxy_intr_map[] array needs to
be updated when adding extra interrupts.
2001-11-06 01:26:47 +00:00
thorpej e727e3f180 Split elf32 vs. elf64 handling in loadfile(), including support for
each separately and explicitly.  BOOT_ELF is now BOOT_ELF32 and
BOOT_ELF64, and ELFSIZE should no longer be defined in loadfile_machdep.h.
2001-10-31 17:20:45 +00:00
simonb ad762e99bf Expose (and augment) the FPGA registers, and add the static RAM address
and size.
2001-10-29 01:31:11 +00:00
eeh 6272e8b2ef Implement bus_space_mmap(). 2001-10-18 22:25:31 +00:00
matt 550ffff41b Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports.  Make
other mpc6xx ports use it.  Add evcnts for mpc6xx traps.
2001-08-26 02:47:33 +00:00
thorpej babefc5331 Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
2001-07-19 15:32:10 +00:00
simonb 8980655597 Move 405GP registers, addresses and other info to ibm405gp.h. Leave only
board-specific addresses and other info in walnut.h.
2001-06-24 01:13:11 +00:00
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