Commit Graph

487 Commits

Author SHA1 Message Date
tsutsui
db09bcc34f Move todr_attach(9) calls from each MD attachment to MI mc146818_attach(). 2008-01-10 15:17:39 +00:00
wiz
35023be713 Fix typo in macro name and comments. 2008-01-09 20:38:34 +00:00
ad
87a9501131 Fix includes. 2008-01-04 22:54:46 +00:00
ad
4a780c9ae2 Merge vmlocking2 to head. 2008-01-02 11:48:20 +00:00
ad
2ecdf58c2c Remove systrace. Ok core@. 2007-12-31 15:31:24 +00:00
tsutsui
9e4e6d48cb In icu_intr_establish(), don't panic if the specified irq
is already in use and just return NULL instead.

Such situation could happen with devices which have
unconfigured PCI interrupt pins (because firmware
doesn't configure multiple function devices) and
each driver could handle the return value properly.
2007-12-22 14:42:21 +00:00
ad
4b293a84e1 Interrupt handling changes, in discussion since February:
- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
2007-12-03 15:33:00 +00:00
tsutsui
71921eec1b Use __arraycount(). 2007-12-02 05:36:46 +00:00
tsutsui
59777a7842 Add ext2fs support. 2007-12-01 18:13:16 +00:00
tsutsui
a65243be7c Include both ffsv1 and ffsv2 supports. 2007-12-01 17:05:11 +00:00
tsutsui
b069af69e5 Remove complete items and a non cobalt specific one. 2007-11-18 07:14:57 +00:00
xtraeme
4ba09b41c3 Remove System V semaphores and share memory options to set the limits:
SEMMNI, SEMMNS, SEMUME and SHMMAXPGS.

They can be tweaked via sysctl now. Ports that were setting values on
them weren't touched, I only removed the ones that were commented out.
2007-11-04 14:34:19 +00:00
tsutsui
a0220d0607 - use chaned mode for RX descs and allocate only one desc per each cacheline
to avoid possible race condition between CPU writeback vs DMA write
- remove unnecessary FS and LS bits from RxD->xd0
  (sys/dev/ic/tulipvar.h sets them but maybe they are ignored?)
2007-10-31 13:30:46 +00:00
tsutsui
4501e92c93 Fix my stupid bug in cache flush code and remove one kludge for it. 2007-10-30 16:38:54 +00:00
tsutsui
33b1553ffb Add support for netboot via tlp0 with standalone tlp(4) driver
taken from arch/sandpoint/stand/netboot.
There are still some kludge but it just works on RaQ and RaQ2.
2007-10-30 15:07:07 +00:00
tsutsui
7eee2a15d6 Use PCI bus/dev/function numbers rather than device unit
to check first tlp in device_register().
2007-10-27 17:23:37 +00:00
tsutsui
3d88d4ee08 Assume netboot if "nfsroot=/path" is specified in bootstring. 2007-10-27 15:12:09 +00:00
tsutsui
683d044ea4 In device_register(), check booted devices more properly:
- check "tlp" name on netboot
- use ata channel and drive numbers to check wd unit
2007-10-27 14:47:04 +00:00
garbled
d974db0ada Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree.  Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches.  The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
2007-10-17 19:52:51 +00:00
ad
9f56dfa520 Merge brelse() changes from the vmlocking branch. 2007-10-08 18:02:53 +00:00
tsutsui
6c44f1b32b Parse "root=/dev/hdXN" args passed from the firmware and
set default boot device accordingly.
Requested and okay'ed by cyber@.
2007-08-13 02:09:01 +00:00
tsutsui
26ba3dff65 More style nits. 2007-08-10 17:44:18 +00:00
tsutsui
2c1e4e89f3 Some style nits. 2007-08-10 16:59:41 +00:00
tsutsui
69819deda6 Lookup boothowto flags in bootinfo. 2007-08-10 16:48:24 +00:00
tsutsui
17c3dbc6c5 Parse boot_flags specified on boot prompt and
pass decoded boothowto value to kernel via bootinfo.
2007-08-10 16:47:06 +00:00
tsutsui
51b5e07bf9 Misc KNF and cosmetics. 2007-08-03 13:15:56 +00:00
tsutsui
e4daee28e3 Add support for booting off raidframe RAID1 mirrors.
Should close PR port-cobalt/36639, but with a different way
(which is similar with pmax) from a patch in the PR.
2007-08-03 12:57:38 +00:00
ad
66fefd117b It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.
2007-07-29 12:15:35 +00:00
tsutsui
49773e5f60 Flush all cache data at the beginning of the bootloader.
Fixes silent hangs after loading 4.0_BETA2 GENERIC kernel
on Qube2 (and RaQ2) with 256MB RAM, reported and tested
by James Hartley on port-cobalt.

Obviously this should be pulled up to netbsd-4.
2007-07-25 14:11:06 +00:00
ad
63811f5275 Generic soft interrupts are mandatory. 2007-07-14 21:48:17 +00:00
ad
88ab7da936 Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
2007-07-09 20:51:58 +00:00
tsutsui
b3b62c0dff Don't clear BSS even if ksyms(4) is not configured. 2007-07-03 10:31:57 +00:00
tsutsui
73b3a64df4 Move declaretions of _spl*() and _{clr,set}softintr() functions
(which are in mips/locore.S) into <mips/locore.h>
from various MD files.
2007-06-17 06:04:27 +00:00
martin
c2534a819b Add pseudo-device agr to all GENERIC kernels where it might make sense
(commented out in some).
2007-06-04 08:55:18 +00:00
tsutsui
2fc470a315 Reorder IPL_SOFTSERIAL and IPL_SOFTCLOCK properly. 2007-05-27 14:22:36 +00:00
tsutsui
cd02a491e7 - Don't clear BSS in mach_init() if a kernel is loaded
by our native bootloader.
- Restore lwp0.l_cpu (which is required for curcpu()) and
  cpu_info_store.ci_curlwp after clearing BSS in case
  a kernel is loaded by the firmware directly since these
  values are in BSS and initilized before mach_init() is called.
  (actually they are restored in mips_machdep.c:mips_vector_init()
   but we use curcpu() earlier than that point)

Fixes silent hang right after boot on cobalt.
2007-05-27 14:10:49 +00:00
yamt
f03010953f merge yamt-idlelwp branch. asked by core@. some ports still needs work.
from doc/BRANCHES:

	idle lwp, and some changes depending on it.

	1. separate context switching and thread scheduling.
	   (cf. gmcgarry_ctxsw)
	2. implement idle lwp.
	3. clean up related MD/MI interfaces.
	4. make scheduler(s) modular.
2007-05-17 14:51:11 +00:00
macallan
cd8fb15721 include files.wsfb 2007-04-10 02:29:42 +00:00
tsutsui
40b782670f Use char * where pointer arithmetics are required. 2007-03-17 11:45:21 +00:00
he
15e52c3822 Cast to char* before doing pointer arithmetic. 2007-03-06 17:32:05 +00:00
he
c574c4ccc1 Use char* with mtod() when doing pointer arithmetic on the result. 2007-03-06 17:30:34 +00:00
dogcow
f18ef70a25 semimechanically convert 'void foo' -> 'void *foo', as part of the continuing
caddr_t fallout.
2007-03-05 21:05:00 +00:00
tsutsui
82d1d0d63e Add pci(4) node for pcictl(8). 2007-03-04 10:35:19 +00:00
christos
53524e44ef Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
thorpej
ab87c6666d TRUE -> true, FALSE -> false 2007-02-22 05:14:04 +00:00
mrg
4410329b87 add a pair of new bus_dma(9) functions:
int _bus_dmatag_subregion(bus_dma_tag_t tag,
				  bus_addr_t min_addr,
				  bus_addr_t max_addr,
				  bus_dma_tag_t *newtag,
				  int flags)
	void _bus_dmatag_destroy(bus_dma_tag_t tag)

that allow a (normally broken/limited) device to restrict the bus address
range it can talk to.  this is used by bce(4) to limit DMA addresses to
1GB range, the maximum the chip can address.

all this is from Yorick Hardy <yhardy@uj.ac.za> with input from several
people on tech-kern.

XXX: bus_dma(9) needs an update still.
2007-02-21 20:41:23 +00:00
tsutsui
a632ff6d41 According to info from Byron Servies on port-cobalt,
the interrupt line from the primary (and only) tulip Ethernet
on Qube2700 is connected to CPU INT2, so handle it properly
in pci_intr_map(9).
2007-02-18 12:22:16 +00:00
tsutsui
990a39ff81 Remove hacks for now removed spllowersoftclock(9). 2007-02-16 13:27:00 +00:00
ad
3363855a4a Remove spllowersoftclock() and CLKF_BASEPRI(), and always dispatch callouts
via a soft interrupt. In the near future, softclock will be run from process
context.
2007-02-16 02:53:43 +00:00
ad
b07ec3fc38 Merge newlock2 to head. 2007-02-09 21:55:00 +00:00