Commit Graph

127 Commits

Author SHA1 Message Date
bjh21
dff5222d3a Abstract the interface between pckbc(4), and the pckbd(4) and pms(4)
drivers that attach to it.  This allows for other host interface chips
that use the same keyboards and mice, such as the ones in the ARM
IOMD20, ARM7500, and SA-1111.  The PC-compatible driver is still
called pckbc(4), and the new abstraction layer is "pckbport", so the
child devices have moved from sys/dev/pckbc to sys/dev/pckbport, which
also contains some code shared between all host controllers.  To avoid
incompatibility, pckbdreg.h is still installed in
/usr/include/dev/pckbc.

In theory, this shouldn't cause any behavioural changes in the drivers
concerned.  Thy just use rather more function pointers than before.  Tested
on i386 and (with a new host driver) acorn32.  Compiled on several other
affected architectures.
2004-03-13 17:31:33 +00:00
matt
e03259960d Fix some gcc3 uninitialized variables. 2004-03-13 07:22:21 +00:00
kleink
9ff09d5dff Pull in SPRs via <powerpc/spr.h> in this single instance, and dispose of
<machine/spr.h> again.
2004-03-02 00:35:54 +00:00
bjh21
5aca86918f Add a new MI attribute, pckbc_machdep_cnattach, and change pckbc_cnattach()
to only call pckbc_machdep_cnattach() if this is present.  This allows
pckbc_machdep_cnattach() to be omitted entirely on most ports, where it only
returns ENXIO anyway.

The devices with this attribute at the moment are pc(4) on i386 and bebox, and
pckbc on sparc, where pckbc_machdep_cnattach() mysteriously returns 0 rather
than ENXIO.
2004-02-14 14:33:28 +00:00
wiz
d20841bb64 Uppercase CPU, plural is CPUs. 2004-02-13 11:36:08 +00:00
bjh21
36727732df Remove pcconskbd(4) support code since this port doesn't have pcconskbd(4)
and the code was conditional on a macro that was never defined anyway.
2004-02-09 19:37:43 +00:00
jdolecek
6c14651ea0 cleanup old lpt(4) attachment, and glue ppbus in so that they can coexist:
* lpt device is defined in MI place (dev/ppbus/files.ppbus), dev/ic/lpt.c
  is included there too; dev/ic/lpt.c is not included if ppbus is
  configured or if there is alternative platform lpt (like for pc532)
* g/c MD lpt definitions and custom puc/upc attachments,
  glue moved to conf/files and dev/pci/files.pci respectively; remove
  device lpt definition from dev/isa/files.isa
* add ppbus parport attribute, atppc device attachments, adjust plip and lpt
  glue
2004-01-20 19:58:00 +00:00
hannken
39ce18659d Mapping of console device goes into the reserved tlb's.
Max. memory is 32M for console at fb and 48M for console on com.

If this becomes a problem TLB_NRESERVED needs to become variable.
2004-01-05 19:55:27 +00:00
hannken
036559b798 Implement fb_mmap(). From David P. Reese Jr. with PR #23985. 2004-01-05 16:05:14 +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
manu
fe7a5ddf22 Fix PowerPC ports build with KGDB. 2003-12-30 11:23:20 +00:00
thorpej
2f2ca9e66b Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
2003-12-14 01:32:01 +00:00
thorpej
9e321b3a18 Collapse the atabus declaration into "atabus* at ata? channel ?". 2003-12-13 23:24:47 +00:00
thorpej
98f7d12017 Split out the Silicon Image SATALink support into its own driver,
"satalink".
2003-12-13 23:13:40 +00:00
jmc
695a2a2f9f Change reference at bottom from sys/dev/majors to sys/conf/majors to match
reality
2003-12-10 02:04:00 +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
scw
c16a38a4d1 Add support for an MBR disklabel if EVBPPC_HAS_MBR is defined. 2003-11-19 13:58:11 +00:00
jdolecek
694c204404 add major for 'ses' for archs which have the other scsi devices 2003-10-24 08:09:53 +00:00
matt
421dd6cc28 Reorganize the way powerpc port install machine specific headers.
Use <powerpc/oea/bat.h> exclusively and remove <machine/bat.h> and
<powerpc/bat.h>.  Remove unneeded <machine/cpufunc.h>.  To insure
1:1 correspondence of <powerpc/FOO.h> to <machine/FOO.h> include
"../../powerpc/include/Makefile" in "arch/FOO/include/Makefile".
Incororpate <byte_swap.h> into <bswap.h> and then byte_swap.h
2003-10-20 00:12:09 +00:00
lukem
7d84b90c92 Use one 'atabus* at ata?' instead of multiple 'atabus* at FOOide? channel ?'
Use  'atapibus* at atapi?'  instead of  'atapibus* at atabus?'
2003-10-18 08:30:12 +00:00
jdolecek
ef5bb330f5 reassing majors for crypto and pf to use the newly defined MI major
range
2003-10-10 22:42:39 +00:00
jdolecek
4e915c9ccd update the comment - the space for machine-dependant majors
is reduced to 0-143
follows discussion on tech-kern
2003-10-10 21:21:25 +00:00
simonb
96cde2b8b5 White space nit. 2003-10-10 07:04:14 +00:00
simonb
83f1167a97 Need to rename dsrtc to ds1743rtc here too. 2003-10-10 07:01:50 +00:00
bouyer
f5a6a0a843 Add new per-chip pciide drivers. 2003-10-08 11:55:43 +00:00
bouyer
e9255b5ae1 Add atabus. 2003-10-08 11:08:07 +00:00
shige
244b994892 Use xrtc driver on generic I2C framework instead of original xrtc
driver at src/sys/arch/evbppc/obs405/dev/x1226.c.
Remove todclock service.
2003-10-06 18:20:54 +00:00
scw
bd61b1e9b3 Rename dsrtc to avoid clashing with the MI i2c ds1307 driver. 2003-10-06 16:04:15 +00:00
simonb
ba957518fe Whitespace nits. 2003-10-06 02:53:33 +00:00
jdolecek
e6286b949a Add some framework for MI assignment of device majors - add sys/dev/majors
which is automatically included during kernel config, and add comments
to individual machine-dependant majors.* files to assign new MI majors
in MI file.

Range 0-191 is reserved for machine-specific assignments, range
192+ are MI assignments.

Follows recent discussion on tech-kern@
2003-10-05 08:04:24 +00:00
matt
85a83bcb92 Add COMPAT_16 2003-09-25 18:56:17 +00:00
shige
e0a74e8b1e Rename ibm4xxGPx_autoconf.c to all lowercase filename. 2003-09-24 11:48:18 +00:00
shige
9c7b98f8ce Add new evbppc port.
This port is for OpenBlockS266.
OpenBlockS266: IBM405GPr OpenBIOS.
X1226 is a rtc chip connected with IIC bus.
2003-09-23 14:45:12 +00:00
he
ff39169476 Revert addition of rnd here; it's already present due to the inclusion
of the WALNUT config file, so causes a duplicate definition error here.
2003-09-14 21:49:58 +00:00
itojun
fc918f8713 add rnd(4) device to installation media.
necessary for many purposes, including password seeding, tcp sequence number,
and more.  see tech-security
2003-09-06 03:25:23 +00:00
itojun
4440262659 create /dev/crypto 2003-08-22 05:06:22 +00:00
eeh
677644de4b Increase the size for the symbol table so we don't overflow anymore. 2003-08-18 23:20:06 +00:00
eeh
26ed6e652b Do not rely on an address from one particular firmware version. 2003-08-18 21:34:11 +00:00
eeh
e898bed96b Use the only documented method to get the board data from the firmware. 2003-08-18 21:30:51 +00:00
hannken
efc0a23c7d Add lpt (for explora) as char 20.
This major number is unused in macppc.
2003-08-17 11:06:46 +00:00
hannken
af69915880 Add bus_dmamap_sync as dma regions are no longer uncached. 2003-08-16 15:40:41 +00:00
matt
a3a18840be Remove SPILLSTK leftovers. 2003-08-12 05:15:41 +00:00
matt
c0d6cb285d Nuke ci_curpm and curpm. Nuke pcb_pmreal. Those were use for spill stacks
and those no longer exist.  for few uses that need CURPM, use CURPCB/PCB_PM
2003-08-12 05:06:53 +00:00
chs
b90614b54e catch up with changes elsewhere. 2003-08-11 05:13:20 +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
eeh
c07f47e182 The firmware actually passes the info block pointer in the link register. 2003-08-03 23:28:45 +00:00
eeh
f77f1feee5 Use %r<n> for register names. 2003-08-03 23:26:55 +00:00
matt
cef74eb810 Add #define _NOREGNAMES (to suppress asm.h from #define r1 1 ...) 2003-07-31 07:50:02 +00:00
scw
387af101cb Fix an off-by-one error in pci_iot. 2003-07-29 08:18:03 +00:00
itojun
3f14c71f75 reserve cdev major # for PF. ok'ed by technical-exec 2003-07-27 14:17:57 +00:00