Commit Graph

54 Commits

Author SHA1 Message Date
kleink 0e5d242328 Update for new pci_devinfo(9) signature. 2004-04-24 15:49:00 +00:00
simonb bf4a293760 Copy Izumi Tsutsui's total/avail memory message tidy up.
sgimips is a little different, that is left as is.
2004-04-03 06:43:59 +00:00
wiz d20841bb64 Uppercase CPU, plural is CPUs. 2004-02-13 11:36:08 +00:00
pk 70f20a1217 Replace the traditional buffer memory management -- based on fixed per buffer
virtual memory reservation and a private pool of memory pages -- by a scheme
based on memory pools.

This allows better utilization of memory because buffers can now be allocated
with a granularity finer than the system's native page size (useful for
filesystems with e.g. 1k or 2k fragment sizes).  It also avoids fragmentation
of virtual to physical memory mappings (due to the former fixed virtual
address reservation) resulting in better utilization of MMU resources on some
platforms.  Finally, the scheme is more flexible by allowing run-time decisions
on the amount of memory to be used for buffers.

On the other hand, the effectiveness of the LRU queue for buffer recycling
may be somewhat reduced compared to the traditional method since, due to the
nature of the pool based memory allocation, the actual least recently used
buffer may release its memory to a pool different from the one needed by a
newly allocated buffer. However, this effect will kick in only if the
system is under memory pressure.
2003-12-30 12:33:13 +00:00
simonb f85a32fc57 Set the CPU frequency parameters from YAMON if available, and fall back
to the timer/RTC based calibration loops otherwise.
2003-10-27 23:47:00 +00:00
simonb cbe1f08c71 Remove useless call to consinit(). 2003-10-27 18:36:26 +00:00
simonb a35e8c4a16 Cast through (void *) to appease gcc3.
XXX1 - why does this "type-punned pointer" warning only affect little-
       endian MIPS and not big-endian MIPS?!
XXX2 - too much duplicated code.
2003-09-26 16:00:28 +00:00
agc aad01611e7 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-08-07 16:26:28 +00:00
lukem 141727280b __KERNEL_RCSID() 2003-07-15 01:31:38 +00:00
fvdl 7dd7f8baa2 Handle 64bit DMA addresses on PCI for platforms that can (currently only
enabled on amd64). Add a dmat64 field to various PCI attach structures,
and pass it down where needed. Implement a simple new function called
pci_dma64_available(pa) to test if 64bit DMA addresses may be used.
This returns 1 iff _PCI_HAVE_DMA64 is defined in <machine/pci_machdep.h>,
and there is more than 4G of memory.
2003-06-15 23:08:53 +00:00
thorpej 0eff671820 Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
2003-06-14 17:01:06 +00:00
tsutsui 71ef8e5915 Use common mips/softintr.c for softintr(9) on evbmips.
Ok'ed by simonb.
2003-05-25 14:08:19 +00:00
ragge 69a66687f8 Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
2003-04-26 11:05:05 +00:00
thorpej fd53a1c386 Use PAGE_SIZE rather than NBPG. 2003-04-02 03:51:33 +00:00
thorpej 23bc250391 Merge the nathanw_sa branch. 2003-01-17 21:55:23 +00:00
thorpej 1132348b98 Use aprint_normal() for cfprint routines. 2003-01-01 01:24:19 +00:00
simonb ae1eaadf08 Fix a typo in the PCI map array (no functionality changes in practice). 2002-12-06 05:46:47 +00:00
simonb 8ae9336efc Keep the knowledge of the H/W interrupt 5 event counter local to
interrupt.c.  This change also unmasked the fact that the Alchemy
boards did not initialise this counter.
2002-11-10 15:21:51 +00:00
thorpej 0c1efadb23 Include <sys/param.h> so that we get the defn of NULL. 2002-10-03 01:57:24 +00:00
thorpej bd5bb4652b Add trailing ; to CFATTACH_DECL 2002-10-02 15:45:10 +00:00
thorpej c5e91d447d Use CFATTACH_DECL(). 2002-10-02 04:55:47 +00:00
thorpej f59e5352f2 Use CFATTACH_DECL(). 2002-10-01 04:21:32 +00:00
thorpej c4cbfcf060 Use CFATTACH_DECL(). 2002-10-01 02:54:11 +00:00
thorpej 9a711d6985 Declare all cfattach structures const. 2002-09-27 20:29:02 +00:00
provos 0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
thorpej 6c88de3b53 Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller.  Use it
rather than invoking cfattach->ca_match directly.
2002-09-27 03:17:40 +00:00
thorpej d1ad2ac4f2 Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver.  The cfdriver is then looked
up in a list which is built at run-time.
2002-09-27 02:24:06 +00:00
simonb e2125ae174 Share disksubr.c across all evbmips "ports" (it was identical). 2002-09-09 06:40:40 +00:00
simonb 221f834ea3 Remove some unused code. 2002-09-09 06:36:39 +00:00
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
simonb 284c3f4875 It's the gt64120, not the gt62140. 2002-08-29 08:02:35 +00:00
thorpej 139cdc3125 Make nbuf, nswbuf, and bufpages unsigned. Make all operations on these
variables unsigned, and update places where their values are printed.
2002-08-25 20:21:33 +00:00
simonb d67404d97e Fix tyop. 2002-08-05 01:15:22 +00:00
gmcgarry 3647e0d293 Merge cpu_sysctl() for all mips ports, based on powerpc and m68k precedent.
For now, only pmax implements CPU_BOOTED_KERNEL.  Need to revisit.
2002-08-04 01:41:23 +00:00
simonb 34b375c0dd Add kttcp, sysmon and broadcom/sibyte devices. 2002-07-31 03:42:54 +00:00
simonb 3f8c0bc7c5 Move the soft interrupts IPL masks from port-specific code to
board-specific code.
Change a u_long to a uint32_t in the timer calibration routines.
2002-07-29 16:21:03 +00:00
simonb 13c96f8103 Split out the {b,c}dev to a separate file, which many devices declared
conditionally so that other eval boards (say without PCI support) can
share the basic "conf.c".
2002-07-26 03:23:04 +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
simonb 0e084cea1c Add a comment; fix white-space niggle. 2002-07-12 00:40:00 +00:00
simonb bb0c5d7d98 Don't need to include <sys/malloc.h>, <machine/locore.h> or
<uvm/uvm_extern.h> here.
2002-07-12 00:27:18 +00:00
simonb 85c8470e73 Fix a typo in a comment. 2002-07-12 00:23:04 +00:00
christos 3b50728cf4 MD systrace gluons. 2002-06-17 16:32:57 +00:00
simonb 9cc65a96d0 3 ports are now using the reciprocal count divisor code now, move it
to <mips/cpu.h>, and add MIPS_SET_CI_RECIPRICAL and MIPS_COUNT_TO_MHZ
macros to use it.
2002-06-04 05:42:41 +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
simonb c833e8820c Remove a few more magic numbers. 2002-04-09 03:40:16 +00:00
simonb 73aae80caf - Calibrate the timer before the first call to delay.
- Don't use a magic number for the com port address.
2002-04-09 03:38:28 +00:00
simonb 40edbdfb37 - Call mips_vector_init() before setting up the serial console, but
after setting up the prom-based console.  If more than one cpu class
  is enabled, the wbflush() handler (needed indirectly by com.c) won't
  be set up.
- Purge some old pmax mcclock-based code.
- Remove a '#if 1/#endif' pair.
2002-04-08 14:11:32 +00:00
simonb 769775ceb4 Make clock/time handling more accurate:
- Use the CPU count register for more accurate microtime (from
   sbmips) and delay (based on an evbmips delay function) functions.
 - Schedule the next hardclock interrupt more accurately (from
   an sgimips patch by Rafal Boni).  Clock drift on one board is
   now ~7ppm instead of ~330ppm.
 - Purge old pmax-based mcclock code.
 - Correctly round off some clock-derived variable calculations.
XXX: Some of this code should be migrated to sys/arch/mips.
2002-04-08 14:08:25 +00:00
simonb 2184ed8531 Convert evbmips to use mips/mips/bus_space_alignstride_chipdep.c. 2002-03-23 14:33:35 +00:00
simonb 00e905ce64 Use <mips/isa_machdep.h> and <mips/pci_machdep.h>. 2002-03-18 10:10:14 +00:00