Commit Graph

163 Commits

Author SHA1 Message Date
simonb
d4bcd9c735 Add/change prototypes so that macpcc builds with -Wstrict-prototypes. 2001-06-19 12:02:55 +00:00
tsubai
afa0c16167 include powerpc/mpc6xx/bat.h. 2001-06-10 15:24:57 +00:00
tsubai
fafb5d4bc3 Make the new pmap optional. Use the old (stable!) pmap by default. 2001-06-10 11:01:26 +00:00
matt
d2f0c68d47 Make macppc compile by default with -Wall -Wmissing-prototype in addition
to its currently enabled warnings.  For the lack of a better place, most
global function prototype wound up in <machine/autoconf.h> unless there
was a better place for them.  ofb_* structs renamed to offb_* to avoid
conflict with ofb_softc in <dev/ofw/openfirm.h>
2001-06-08 00:32:01 +00:00
matt
695e5e7ab5 Changes new pmap, common param.h, vmparam.h, and moved includes. 2001-06-06 17:50:14 +00:00
mrg
67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +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
kleink
f06533a1ee Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink
739cb75837 Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink
cdcf9f46c5 Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
2001-04-14 22:46:19 +00:00
kleink
a7c20e5788 Add definitions of C99 integer constant macros. 2001-04-14 22:38:33 +00:00
kleink
7affdab52e Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
thorpej
bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
tsubai
ce8902b7fe Merge my MP tree. At this point, Daystar dual 604 card (i.e. Power Macintosh
9500/180MP and 9600/200MP) runs at least into single-user mode, possibly
multi-user mode (not stable yet).
2001-03-22 04:11:46 +00:00
tsubai
123c25cc93 Remove PAGER_MAP_SIZE definition -- use default value. Instead, decrease
VM_MAX_KERNEL_BUF.
2001-03-15 16:06:59 +00:00
thorpej
2c4c690f14 Add the BUS_DMA_STREAMING flag. 2001-03-07 22:42:16 +00:00
matt
f209f0ea1a Add Apple_FWDRIVER. 2001-02-27 06:16:06 +00:00
briggs
2f624f78d6 Share a single pio.h instead of having 4 nearly-identical copies. 2001-02-05 19:33:54 +00:00
briggs
e96035c57c Tsubai has convinced me that openpic_init() should remain machine-dependant
as the details might differ between archs, and passing the various options
leads to some clutter.
2001-02-05 19:22:23 +00:00
briggs
044caccfff Split OpenPIC support into powerpc so ports only need minimal custom
configuration.  openpic_init() now takes a single argument that is the
base of the OpenPIC register space.
2001-02-02 06:11:52 +00:00
thorpej
d85a75f583 Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00
tsubai
26914e2bcf Make want_resched and astpending per-CPU.
Add some per-CPU variables to cpu_info.
2001-01-01 04:33:39 +00:00
sommerfeld
851de295eb Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
2000-12-28 22:59:06 +00:00
tsubai
8ba01dd213 Fix bus_space_write_multi_N.
(From der Mouse <mouse@Rodents.Montreal.QC.CA>)
2000-12-21 23:17:32 +00:00
tsubai
438b1e68e0 Add support for Kensington Turbo Mouse. 2000-12-19 02:59:23 +00:00
mycroft
3418812d3c Partial syscall cleanup, as per other ports. 2000-12-14 10:33:42 +00:00
mycroft
73e35a46eb Increase all of the limits. 2000-12-08 21:51:35 +00:00
tsubai
e4bfefe7bd Make spl functions no-inline. This saves size and even it runs faster on
some systems.
2000-11-29 17:55:52 +00:00
tsubai
e5c94432d1 Reduce PAGER_MAP_SIZE to 4MB. 2000-11-27 11:37:33 +00:00
tsubai
f671e87235 Add an argument to need_resched macro. 2000-08-28 11:52:59 +00:00
wrstuden
4678e2bb87 Correctly spell DRIVER. Noted by Tsubai. :-) 2000-08-23 19:15:25 +00:00
thorpej
58e7a6954b Add spllock(). See spl(9) for details. 2000-08-22 19:46:26 +00:00
thorpej
23a7f255d4 Make sure we provide splsched() as described in spl(9). 2000-08-21 02:06:31 +00:00
wrstuden
17c0d4d853 Add some new partition types, and flags. Have the Apple Partition Map
code ignore the new partition types, and look for the new "USR" partition
flag.

From SUNAGAWA Keiki <kei_sun@ba2.so-net.ne.jp> with slight changes by me.

Closes PR port-macppc/10046
2000-08-18 22:40:28 +00:00
tsubai
9ad1103d98 Make it compile with "options MULTIPROCESSOR". 2000-07-06 22:56:22 +00:00
itojun
d738f90fd7 raise MSIZE from 128 to 256.
- for sizeof(void *) == 8 arch, this is mandatory.  MHLEN is too small
  already (less than 80) and there are chances for unwanted packet loss due
  to m_pullup restriction.
- for other cases, the change should avoid allocating clusters in most cases
  (even when you have IPv4 IPsec tunnel, or IPv6 with moderate amount of
  extension header)

portmasters: if your arch chokes with the change (high memory usage or
whatever), please backout the change for your arch.
2000-06-30 17:55:11 +00:00
kleink
e695f72a2e Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
2000-06-26 15:42:16 +00:00
simonb
889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
tsubai
1bfa0fc6b6 Add cpu_counter(). 2000-06-11 16:32:42 +00:00
cgd
cffb580806 Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
2000-06-04 19:14:14 +00:00
matt
c9aff328d9 Make booted_device global (and booted_parition for consitency).
Eliminate it from header files and other extern definitions.
2000-06-01 00:49:49 +00:00
cgd
47449a63d2 kill __P in these files. (I had to look at them anyway with an eye for
adding some protos... and adding them with __P seems wrong, but mixing
__P and not __P in the same file seems wrong too, so...)
2000-06-01 00:04:50 +00:00
thorpej
a7d0570e67 First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

	- Global state: sched_qs (run queues), sched_whichqs (bitmap
	  of non-empty run queues), sched_slpque (sleep queues).
	  NOTE: These may collectively move into a struct schedstate
	  at some point in the future.

	- Per-CPU state, struct schedstate_percpu: spc_runtime
	  (time process on this CPU started running), spc_flags
	  (replaces struct proc's p_schedflags), and
	  spc_curpriority (usrpri of processes on this CPU).

	- Every platform must now supply a struct cpu_info and
	  a curcpu() macro.  Simplify existing cpu_info declarations
	  where appropriate.

	- All references to per-CPU scheduler state now made through
	  curcpu().  NOTE: this will likely be adjusted in the future
	  after further changes to struct proc are made.

Tested on i386 and Alpha.  Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
2000-05-26 21:19:19 +00:00
tsubai
06d1fe06b3 Remove __BROKEN_DK_ESTABLISH. 2000-05-23 13:27:16 +00:00
thorpej
463931b3ba Nuke dk_establish() from orbit except from those ports which still use
it to determine the boot device: mvme68k, pc532, macppc, ofppc.  Those
platforms should be changed to use device_register().  In the mean time,
those ports defined __BROKEN_DK_ESTABLISH.
2000-05-16 05:45:44 +00:00
thorpej
f51470a514 Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED.  These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case).  Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
2000-04-29 03:31:45 +00:00
tron
e86957458a Install "machineendian_machdep.h". 2000-03-17 22:36:31 +00:00
mycroft
9e21b6555a In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
2000-03-17 00:09:18 +00:00
tsubai
2aafd71ec7 Reduce NKMEMPAGES_MAX_DEFAULT. 2000-02-13 17:01:47 +00:00
thorpej
dded044fc2 Update for the NKMEMPAGES changes. 2000-02-11 19:25:12 +00:00
tsubai
d696094217 Change ICU_LEN to 64. 2000-02-11 13:15:43 +00:00
tsubai
e29a886cd6 * Split bandit and grackle.
* Add UniNorth support.

Now pcibus is attached like:
  bandit0 at mainbus0
  pci0 at bandit0 bus 0
  ...
2000-02-03 19:27:43 +00:00
danw
33051e5117 Use device_register to find the boot device more reliably. Should now work
on anything it's possible to boot from that we have a driver for.
2000-02-01 04:04:17 +00:00
drochner
8eb798e603 define a "BUS_SPACE_MAP_PREFETCHABLE" flag which basically means that
device accesses are idempotent (but should not be cached by the CPU)
2000-01-25 22:13:17 +00:00
kleink
11e6c54cfc C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
1999-12-23 10:15:05 +00:00
ragge
0513268399 CL* discarding. 1999-12-04 21:13:19 +00:00
tsubai
849421ec54 Add RCS ID.
Disable debug messages.
1999-10-15 07:20:42 +00:00
haya
4eee111127 This is the first check-in of CardBus driver. CardBus driver contains
CardBus bus stub, YENTA PCI-CardBus bridge (cbb), 3Com 3C575TX driver
(ex) and Intel fxp driver.

TODO:
  o Conform to the KNF more strictly.
  o Be unified with pcmcia code as much as possible.
  o Add more drivers for CardBus card, such as APA-1480 or USB card.

The affected files are listed below.

	sys/arch/i386/conf/files.i386
	sys/arch/macppc/conf/files.macppc
	sys/conf/files
	sys/dev/ic/elinkxl.c
	sys/dev/ic/elinkxlvar.h
	sys/dev/ic/i82365.c
	sys/dev/ic/i82365var.h
	sys/dev/isa/i82365_isasubr.c
	sys/dev/pci/files.pci
	sys/dev/pcmcia/pcmcia.c
	sys/dev/pcmcia/pcmciachip.h

The added files are listed below.

	sys/arch/i386/conf/CARDBUS
	sys/arch/i386/include/rbus_machdep.h
	sys/arch/i386/i386/rbus_machdep.c
	sys/arch/macppc/include/rbus_machdep.h
	sys/arch/macppc/macppc/rbus_machdep.c
	sys/dev/cardbus/if_ex_cardbus.c
	sys/dev/cardbus/Makefile.cardbusdevs
	sys/dev/cardbus/cardbus.c
	sys/dev/cardbus/cardbus_map.c
	sys/dev/cardbus/cardbusdevs
	sys/dev/cardbus/cardbusdevs.h
	sys/dev/cardbus/cardbusdevs_data.h
	sys/dev/cardbus/cardbusvar.h
	sys/dev/cardbus/cardslot.c
	sys/dev/cardbus/cardslotvar.h
	sys/dev/cardbus/devlist2h.awk
	sys/dev/cardbus/files.cardbus
	sys/dev/cardbus/if_fxp_cardbus.c
	sys/dev/cardbus/pccardcis.h
	sys/dev/cardbus/rbus.c
	sys/dev/cardbus/rbus.h
	sys/dev/pci/pccbb.c
	sys/dev/pci/pccbbreg.h
	sys/dev/pci/pccbbvar.h
1999-10-15 06:07:17 +00:00
tsubai
956c00aaf3 Change kernel segment base to 0xf00000. Some PM9500s won't boot with the
old value (0xfffff0).
XXX I don't know why...
1999-10-13 04:01:06 +00:00
tsubai
9f58dd36d0 Change char *bootpath to char bootpath[]. 1999-10-13 03:27:47 +00:00
wrstuden
25faa820de Add support for reading MacOS-partitioned disks. Stolen from the mac68k
port, but modified in that macppc searches for netbsd-partitioned disks
before MacOS partitioned disks, since installboot generates a fake MacOS
partition table which isn't the one we want to use.
1999-09-27 17:02:43 +00:00
thorpej
28fb7c1eb8 Define cpu_number() as discussed on tech-smp. 1999-08-10 21:08:05 +00:00
thorpej
eb20bbc780 Change the semantics of splsoftclock() to be like other spl*() functions,
that is priority is rasied.  Add a new spllowersoftclock() to provide the
atomic drop-to-softclock semantics that the old splsoftclock() provided,
and update calls accordingly.

This fixes a problem with using the "rnd" pseudo-device from within
interrupt context to extract random data (e.g. from within the softnet
interrupt) where doing so would incorrectly unblock interrupts (causing
all sorts of lossage).

XXX 4 platforms do not have priority-raising capability: newsmips, sparc,
XXX sparc64, and VAX.  This platforms still have this bug until their
XXX spl*() functions are fixed.
1999-08-05 18:08:08 +00:00
tsubai
035071b460 Add VM_MAX_KERNEL_BUF definition. 1999-07-18 17:54:19 +00:00
tsubai
e9f1ccdcd1 Decrease default NKMEMCLUSTERS. (128MB -> 8MB) 1999-07-18 17:53:18 +00:00
cgd
7c02d93c04 nuke current definitions provided by __BUS_SPACE_COMPAT_OLDDEFS.
I'll do what I can to make new ones soon.  8-)
1999-06-18 04:49:24 +00:00
tsubai
c28bad1d51 Define PowerBook G3 Japanese keyboard. 1999-06-16 08:48:37 +00:00
thorpej
35df607966 Allow pci_init() to be called twice, once just to find the PCI-Host
bridges and determine the "pci chipset" values (for making PCI tags),
and again to actually map the configuration space registers.
1999-05-06 19:16:44 +00:00
tsubai
661ae33963 Remove unused codes. 1999-05-06 04:37:44 +00:00
thorpej
341f87673b Add a bus space tag for PCI memory space to the pci_bridge structure. 1999-05-05 04:26:48 +00:00
tsubai
28b7777fd0 Provide CACHELINESIZE when _STANDALONE is defined too. 1999-05-03 05:19:59 +00:00
tsubai
741030cc8a Add loadfile_machdep.h 1999-04-29 03:17:12 +00:00
ws
5423093850 Modify syncicache on PowerPC from an inline to a real function.
Support different cache line sizes with the same object code in userland.
While here, move the function to implementation name space.
1999-04-17 21:16:45 +00:00
thorpej
e49833cd68 Now that we have direct-mapped pool pages, we can garbage-collect VM_MBUF_SIZE
and don't need to allocate mb_map.
1999-04-16 21:47:11 +00:00
tsubai
e1410f9e82 Remove unused file. 1999-03-28 13:39:30 +00:00
drochner
76fa1751fe Add a macro to check for sufficient pointer alignment in bus.h context,
"BUS_SPACE_ALIGNED_POINTER()".
Equal to the param.h "ALIGNED_POINTER()" normally, but obeys additional
requirements of the bus_space_xxx_n() macros. (BUS_SPACE_DEBUG)
1999-03-23 21:29:03 +00:00
thorpej
63b6321834 VM_MBUF_SIZE is in terms of MCLBYTES, not CLBYTES. 1999-03-23 00:31:59 +00:00
cgd
49e6daa992 Moved from arch/macppc/pci/pci_machdep.h,v 1999-03-19 03:36:18 +00:00
tsubai
78665b6502 Increase default data size to compile libbfd without `virtual memory
exhausted'.  Suggested by Scott Reynolds.
1999-02-27 18:32:31 +00:00
tsubai
4806be8d02 Use powerpc/reloc.h. 1999-02-16 17:53:42 +00:00
thorpej
24d9973308 Use <sys/disklabel_mbr.h>. 1999-01-27 21:30:08 +00:00
chuck
417e5339f0 MNN is no longer optional 1999-01-16 20:31:50 +00:00
bouyer
dc306354b0 Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
tsubai
bb426487a5 Move MSGBUFSIZE from machdep.c to param.h
Use the last page for msgbuf instead of fixed MSGBUFADDR.
1999-01-12 10:51:40 +00:00
tsubai
c91ac313c1 Count clock interrupts. 1999-01-11 09:44:51 +00:00
tsubai
fbeabd992c Implement sparse bus space support. 1998-12-06 15:39:12 +00:00
tsubai
619952b3ee Not used. 1998-12-03 11:05:18 +00:00
tsubai
d6ebbdb79a Fix -Wpointer-arith warning. 1998-10-25 17:39:52 +00:00
tsubai
262ba9ad95 Fix miscounting of length in syncicache(). 1998-10-25 10:13:21 +00:00
tsubai
6f402eb495 Add via-pmu support (only PowerBook 2400c/180 is tested). 1998-10-20 14:56:30 +00:00
thorpej
d681cf055a configure() prototype is in <sys/device.h> 1998-10-06 20:50:15 +00:00
thorpej
10557b15d7 Add a private bounce threshold to the DMA map, initialized in a bus-dependent
fashion.
1998-10-03 21:24:00 +00:00
tsubai
a647a97b1a Remove HTABENTS definition. (calculated automatically) 1998-09-03 14:10:56 +00:00
tsubai
2c6eefb899 Add some prototypes. 1998-09-01 17:33:04 +00:00
tsubai
1c3e72cd0e Back out previous change. 1998-08-26 11:44:06 +00:00
tsubai
d4d7416198 vm_offset_t --> [pv]addr_t. 1998-08-21 16:13:28 +00:00
tsubai
573f3aee5c Enable 115200 and (untested)230400 bps. 1998-08-16 11:24:36 +00:00
mycroft
6dc903202f Assign my copyrights to TNF. 1998-08-15 10:10:47 +00:00