Commit Graph

303 Commits

Author SHA1 Message Date
atatat 2bf2c362fb The bridge(4) pseudo-device no longer requires the port to
__HAVE_GENERIC_SOFT_INTERRUPTS, so add it back to all GENERIC configs.
2001-11-23 05:00:22 +00:00
lukem 03aef4723c cleanup:
options SPACE TAB
	makeoptions TAB
	psuedo-device TAB
	remove trailing whitespace
	replace multiple spaces -> tabs
	options "FOO" -> options FOO
	options "FOO=bar" -> options FOO=bar
	options "FOO=\"bar\"" -> options FOO="\"bar\""
2001-11-20 12:56:17 +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
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
thorpej 0896046ab3 Attempt at making Type 1 config cycles work, based on "see config-map". 2001-10-30 01:21:24 +00:00
thorpej ccb78392f1 Check in of work-in-progress of Firepower native device support.
We can find devices in PCI configuration space, but not much else.
2001-10-29 22:28:37 +00:00
thorpej 2d06f95095 Add/rework infrastructure that will allow us to support native
device drivers:
- Various native device entries in cdevsw/bdevsw.
- Rework the interrupt infrastructure to provide more flexibility to
  the platform-dependent back-end.  Rewrite the "ofwgen" simulated
  interrupt routines to reflect the changes.
- Clear out the BAT registers and set the fixed battable entries before
  calling the platform init routine.  The platform init routine is allowed
  to set entries in the battable.
- Don't call the platform cons_init routine until after translation is
  enabled -- we might need translation to work in order to access bus
  space.
2001-10-29 19:04:24 +00:00
thorpej 61438ef172 For System registers which are not 32-bits wide, they are "left justified"
within the 32-bit word.  Add CSR_{READ,WRITE} macros which compensate for
this.
2001-10-29 18:57:15 +00:00
thorpej b5ae57acc0 Fix a typo, add some UL suffixes to memory map constants. 2001-10-29 04:48:21 +00:00
thorpej 678788904a Memory map and system registers for the Firepower ES, MX, LX, and TX
systems.
2001-10-24 20:36:44 +00:00
thorpej d213444bc5 Need to install intr.h. 2001-10-24 15:33:17 +00:00
billc 8b2a9cd42c NEWPMAP fixes that I missed committing. 2001-10-24 06:26:10 +00:00
thorpej d1550cb938 For systems (like the briQ) that don't have a "/cpus", look for
CPUs in the OFW top-level.
2001-10-23 22:52:14 +00:00
thorpej 52b15119b0 Add the correct model string for the Total Impact briQ. 2001-10-23 04:19:34 +00:00
thorpej 42e835d381 Clean up the NetBSD/ofppc boot loader:
- Garbage collect some cruft that doesn't apply to the ofppc port.
- Make our OFW-friendly alloc.c more like the libsa alloc.c
- Generally reduce some differences where we can between this
  boot loader and the NetBSD/macppc boot loader.
- Use libsa's loadfile().
- Fix DDB symbol loading -- Add a magic number after the args string
  so the kernel knows the symbols are there, provide both ssym and
  esym, and make sure all these values are aligned to a 4-byte boundary.
- Add support for MS-DOS file systems.
2001-10-23 03:31:25 +00:00
thorpej 506d233170 Add machine-dependent defns for libsa's loadfile(). 2001-10-23 03:02:03 +00:00
thorpej 718fdfe48f Add support for fetching DDB symbols from the boot loader. This requires
changes to the boot loader (forthcoming).
2001-10-23 01:36:32 +00:00
thorpej 624e16931f Begin the task of splitting up the ofppc port into common code
and platform-specific code, similar to how the Alpha port is
split up.
2001-10-22 23:01:17 +00:00
thorpej 6817ae639c Fetch the platform name earlier, so we can determine what kind of
system we're running on earlier.
2001-10-22 16:44:03 +00:00
thorpej 63a4b630bb CPUs attach to mainbus now. 2001-10-22 14:47:44 +00:00
thorpej 783ea940e5 Various things that make OFW-driver kernels work on my Firepower LX MP
again:
- Special-case the attachment of CPUs, and logically attach them to
  "mainbus", attaching them before any other devices.  Otherwise,
  CPUs would be found very late in the game on my Firepower.
- Sanity check the timebase-frequency property, printing a warning if
  it's not the same on each CPU.
- Pass the correct CPU ID to cpu_attach_subr().
- Fetch the platform name from the OFW root node.  We can key off this
  later when we implement support for native drivers in the ofppc port.
- Use a table of "special" toplevel OFW nodes ... we skip these nodes
  during the device configuration phase.  This generally includes the
  "options", "packages", etc. nodes.  Inspired by sparc & sparc64 ports.
2001-10-22 14:46:08 +00:00
billc 5c078bc6e7 Total Impact BRIQ kernel config 2001-10-20 08:32:24 +00:00
billc b3a54fcf2e just set MACHINE and include powerpc/param.h - non-NEWPMAP ofppc kernels boot now. 2001-10-20 08:27:12 +00:00
billc c67bf6b4de Fix cpu check to actually work. 2001-10-20 08:22:58 +00:00
billc c22d12260d update for NEWPMAP 2001-10-20 08:22:29 +00:00
thorpej a769f31893 soft_splvm() - "block" SPLBIO, SPLNET, and SPLTTY in addition to SPLIMP
and the soft interrupts.  Probably doesn't matter for an all OFW kernel,
since all devices are polling, but done for correctness.

soft_splsoftnet() - make sure to block softclock, as well.  While
you're in the network code at splsoftnet(), you don't want a soft
clock interrupt tripping some network-related timeout and reentering
the network code.
2001-10-06 03:51:48 +00:00
manu dea90b1ed2 Linux emulation is no longer experimental, removed comment 2001-09-12 21:05:37 +00:00
chris 0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
atatat 5f25c01eff Comment out bridge pseudo devices from ports that don't
__HAVE_GENERIC_SOFT_INTERRUPTS.  bridge(4) doesn't compile there.
2001-09-01 23:08:40 +00:00
atatat 97c67a9bae Add bridge pseudo devices to GENERIC configs 2001-09-01 21:52:23 +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
chs ba2c8088f4 use pmap_k* for buffer cache pages. 2001-08-24 04:34:25 +00:00
tsutsui 9e7c918fc2 Avoid NULL pointer dereference. 2001-08-05 11:14:21 +00:00
tsutsui 96ca5eec53 Define VM_MAX_KERNEL_BUF and PAGER_MAP_SIZE to save KVA space. 2001-08-05 06:55:02 +00:00
tsutsui 9651c6a654 Add PM_SR 2001-08-05 05:47:43 +00:00
wiz 3ed1e031ab bcopy -> memcpy, bzero -> memset 2001-07-22 14:43:14 +00:00
abs 01b024cd5b Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
2001-07-08 16:32:12 +00:00
darcy ce0ec1e208 Add System V semaphore resource limits to each GENERIC file that has an
option for System V semaphores.  It appears that there are no overrides
in the code and each file has the following added.

 options    SYSVSEM     # System V semaphores
+#options   SEMMNI=10   # number of semaphore identifiers
+#options   SEMMNS=60   # number of semaphores in system
+#options   SEMUME=10   # max number of undo entries per process
+#options   SEMMNU=30   # number of undo structures in system
 options    SYSVSHM     # System V shared memory

If anyone thinks that this is incorrect for any of these files, please
correct it.

Note - the i386 port was not forgotten.  It was done separately.
2001-06-30 11:00:31 +00:00
matt 8a580d3ce9 #include <powerpc/spr.h> 2001-06-23 02:24:20 +00:00
simonb 43eba60849 Make all the ppc delay() functions the same - formating change only, no
code changes.  Step one of a unified ppc clock.c.
2001-06-19 08:34:49 +00:00
christos 0f380fac15 Add an e_trapsignal member to struct emul, so that emulated processes can
send the appropriate signal depending on the trap type.
2001-06-18 02:00:48 +00:00
tsubai 66c1ffd9be Remove cpu_dumpconf(); it's in powerpc_machdep. 2001-06-12 17:23:13 +00:00
tsubai bee211fc53 Move "file .../bus_dma.c" line to MD place.
Add options PPC_MPC6XX on missed ports.
XXX I think PPC_OEA is better name.
2001-06-12 17:13:34 +00:00
chs 821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
mrg 67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
mrg 3783ca5d30 define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.
2001-05-29 02:20:20 +00:00
soren 945b972563 PPC machine type tags haven't been used for a while. 2001-05-03 13:11:24 +00:00
thorpej cf67ac7122 Per discussion w/ chuck and chuck, restructure the md page stuff
to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD
and __HAVE_PMAP_PHYSSEG.
2001-05-01 02:19:13 +00:00
thorpej 2b27ac7a99 Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for
each vm_page structure.  Add a VM_MDPAGE_INIT() macro to init this
data when pages are initialized by UVM.  These macros are mandatory,
but ports may #define them to nothing if they are not needed/used.

This deprecates struct pmap_physseg.  As a transitional measure,
allow a port to #define PMAP_PHYSSEG so that it can continue to
use it until its pmap is converted to use VM_MDPAGE_MEMBERS.

Use all this stuff to eliminate a lot of extra work in the Alpha
pmap module (it's smaller and faster now).  Changes to other pmap
modules will follow.
2001-04-29 22:44:31 +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