Commit Graph

38 Commits

Author SHA1 Message Date
gehenna 77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +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
chs 301f1ebf31 move more inlines to cpu.h: mftb(), mftbl() and mfpvr().
(the mftb() in pmap.c only wanted the lower 32 bits, so that's now mftbl()).
2002-08-06 06:14:33 +00:00
thorpej 3912e469dd Rename cdev_systrace_init() to cdev_clonemisc_init(), so it can
be properly used by any misc. cloning device.  While here, correct
a comment to indicate that "open" is the only entry point and that
everything else is handled with fileops.
2002-07-19 16:38:14 +00:00
scw f0643885eb Fix a mem_region botch:
physmemr and availmemr both need to be arrays, where the last element
has `size' set to zero to act as a terminator.
2002-07-11 21:50:22 +00:00
scw f3309b8981 Redefine USER_SR to avoid clashing with MVMEPPC_PHYS_BASE_MEM in bat[12].
Thanks to Matt Thomas for pointing out the problem.
2002-07-09 20:06:35 +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
christos 3b50728cf4 MD systrace gluons. 2002-06-17 16:32:57 +00:00
lukem fde6ae6f04 Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
2002-06-17 05:14:02 +00:00
bjh21 54f310b7ce Use ${PRINTOBJDIR} rather than rolling our own. This makes parallel
builds work properly.
2002-05-31 13:46:00 +00:00
bjh21 31e94b1399 Insert .WAIT between libsa and boot so that parallel builds have a chance
of working.
2002-05-31 13:42:25 +00:00
thorpej 204183c0fa * Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses.  For busses behind a bridge, it points to
  a persistent copy of the bridge's pcitag_t.  This can be very useful
  for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
  uses OFW device nodes to enumerate the bus.  When a PCI bus that is
  behind a bridge is attached, pci_attach_hook() allocates a new PCI
  chipset tag for the new bus and sets it's "curnode" to the OFW node
  of the bridge.  This is used as a starting point when enumerating
  that bus.  Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.
2002-05-16 01:01:28 +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
atatat d1b3852365 Add the INCLUDE_CONFIG_FILE option to all config files. In config
files that are generic (ie, GENERIC, GENERICSBC, GENERIC32, ALL, or
ALPHA), it is uncommented.
2002-04-25 15:06:20 +00:00
kleink 3a03930d13 Add a third argument to pmap_bootstrap() which platform-specific
initialization can use to specify additional segment registers to be set
up in the kernel pmap.
2002-04-23 12:41:04 +00:00
wiz 440337fdce Remove (commented out) pms cdev_decl. 2002-04-19 02:12:00 +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
mycroft 558b4fb278 Switch from de to tlp by default. 2002-04-17 02:22:41 +00:00
thorpej eedd94475c * Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
  the magic "files include order" dance in N machine-dependent
  configuration definitions.
2002-04-16 20:50:16 +00:00
wiz 5040dc6d7d Remove last(?) traces of pmsi. 2002-04-16 11:49:54 +00:00
gmcgarry 6e066ba77a Add commented-out USERCONF option. Mainly useful for install media
and can be optionally enabled based on miniroot and ramdisk size
requirements.
2002-04-12 08:10:45 +00:00
bjh21 58b39c78dc Add files.c to SRCS_sa, so at to get stuff to link again. 2002-04-08 17:39:42 +00:00
martin 94881fb123 Rename ISDN devices, per discussion on tech-kern. The network devices
become ippp (ISDN ppp) and irip (ISDN raw IP). The character device now
are called: /dev/isdn (isdnd <-> kernel communication), /dev/isdnctl (dialing
and other control), /dev/isdntrc* (tracing), /dev/isdnbchan* (raw B channel
access, i.e. for user land PPP) and /dev/isdntel* (telephone devices, i.e.
for answering machines).
2002-03-16 16:55:51 +00:00
chs bd2a5f591d switch all mpc6xx powerpc ports to NEWPMAP by default.
the old pmap is still available with the OLDPMAP option.
2002-03-09 23:35:56 +00:00
scw 3d958e8959 Add CACHELINESIZE for the benefit of lib/libkern/arch/powerpc/bzero.S. 2002-03-09 23:02:57 +00:00
matt 7053887d27 Change LABELOFFSET to 0 to be compatible most other MBR using ports. 2002-03-07 19:15:46 +00:00
wiz 0995897f47 Remove ipip reference. 2002-03-04 14:12:56 +00:00
simonb 64c7743a05 Don't "extern int cold;" - this is in <sys/kernel.h>. 2002-03-04 02:19:07 +00:00
wiz 1b7f309f0a Correct misspellings of "failed". 2002-03-04 01:38:31 +00:00
scw 293681cdc3 Rename the bootstrap from netboot to just boot as eventually it will
support both network and scsi devices in one binary.
(There are no absolute size restrictions for a PReP-style one-stage
bootloader).
2002-03-03 11:03:43 +00:00
scw 087d3361fc Define NEWPMAP here if it is not already defined, for the benefit
of lkms.
2002-03-03 10:55:35 +00:00
scw 44c52d4714 No longer need to define CACHELINESIZE here, and move NEWPMAP option
to std.mvmeppc since the old pmap module is not supported on mvmeppc.
2002-03-03 10:53:10 +00:00
scw 6cf459ffb5 Add BAT_G to the I/O bats, as per matt@netbsd.org's change for macppc. 2002-03-02 11:01:50 +00:00
scw fc673fcd59 Missed this file when adding mvmeppc port. 2002-02-28 21:54:42 +00:00
scw bd9412df1c Oops, replace this with a (very) slightly modified version of prep's
intr.h instead of a remnant of my original hacking where it was based
on sandpoint's.
2002-02-28 00:27:38 +00:00
scw eb06a2e443 Nuke a file which should not have been commited. 2002-02-28 00:02:26 +00:00
scw f179ae8cce Get in sync with include files. 2002-02-27 21:55:44 +00:00
scw 4c447e5383 New port: NetBSD/mvmeppc
Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
2002-02-27 21:02:12 +00:00