Commit Graph

193 Commits

Author SHA1 Message Date
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
joerg
3615cf7715 Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants,
remove the conditionals and the code associated with the undef case.
2008-01-20 18:09:03 +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
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
63811f5275 Generic soft interrupts are mandatory. 2007-07-14 21:48:17 +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
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
712239e366 Replace the Mach-derived boolean_t type with the C99 bool type. A
future commit will replace use of TRUE and FALSE with true and false.
2007-02-21 22:59:35 +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
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
yamt
8bf7662829 merge yamt-splraiseipl branch.
- finish implementing splraiseipl (and makeiplcookie).
	  http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
	- complete workqueue(9) and fix its ipl problem, which is reported
	  to cause audio skipping.
	- fix netbt (at least compilation problems) for some ports.
	- fix PR/33218.
2006-12-21 15:55:21 +00:00
gdamore
17d511c8a9 Convert arc to timecounters, using common mips3 timecounters. We have not
converted the platform to use the MIPS3 cp0 for the hardclock interrupt yet,
but that should be done as well.  In the meantime, there are no functional
changes.
2006-09-09 00:47:54 +00:00
gdamore
17d8d811d5 Add <machine/locore.h>, used by some other common MIPS code. 2006-09-09 00:46:08 +00:00
gdamore
57933cb8b6 Convert to MI todr framework. 2006-09-03 18:12:48 +00:00
bjh21
e10108c7f2 Nothing in the kernel now tests __HAVE_NWSCONS, so stop defining it everywhere. 2006-09-03 13:51:23 +00:00
tsutsui
84180e1158 - reorganize bootinfo structures and fix bootinfo handling in bootloader
(mostly based on pmax)
- pass symbol info from bootloader to kernel via bootinfo
  (currently bootinfo is allocated in the bootloader and
   copied by kernel later; maybe we should rethink about this)
- use passed bootinfo to initialize ksyms(4) in kernel
- remove options SYMTAB_SPACE from kernel config files
- bump bootloader version
2006-07-22 18:15:05 +00:00
tsutsui
3eb4d24002 No need to export autoconf.h to userland. 2006-07-01 17:24:19 +00:00
tsutsui
06801cfcf5 Remove obsolete display.h. 2006-07-01 17:19:39 +00:00
tsutsui
0aa05e92ff Remove unused struct abus stuff. 2006-06-25 16:46:15 +00:00
tsutsui
2a8a21a021 Misc minor cleanup for arc interrupt handlers:
- always enable options MIPS3_ENABLE_CLOCK_INTR and just clear the compare
  register in cpu_intr() to make CLKF_BASE() works
  properly
- prepare only possible number of cpu_inttab
- use macro for interrupt priority number passed to arc_set_intr()
  to avoid confusion
- merge arc_hardware_intr() into cpu_intr()
- check independent timer interrupt first in cpu_intr()
- tweak MIPS_SR_INT_IE before calling hardclock timer handlers so that
  spllowersoftclock(9) will be invoked properly in hardclock(9)
- reenable interrupt for timer in cpu_intr() rather than each timer handlers

okay'ed by soda.

Note the real fix is to make CLKF_BASE() check all independent
interrupt sources including jazz and isa devices.
2006-06-24 03:50:38 +00:00
tsutsui
0b8cd19c9e Remove extern from function declarations. 2006-06-17 14:10:28 +00:00
tsutsui
5c40f381f5 Account ISA interrupts by evcnt(9) 2006-06-12 15:39:01 +00:00
tsutsui
0f6618f084 - rename struct intrhand -> struct isa_intrhand
- remove unused ih_what member
2006-06-12 15:24:31 +00:00
tsutsui
a465c6b884 Tweak bus_space_barrier(9) macro to appease
"left-hand operand of comma expression has no effect"
warnings by gcc4.
2006-05-26 13:23:34 +00:00
tsutsui
0d0bf3b542 Add support for pci_configure_bus(9) (a.k.a. options PCI_NETBSD_CONFIGURE)
so that PCI devices over ppb(4) work properly on PCI based NEC machines.

Tested on my NEC JC94 (Express5800/230) and 3Com 3C982-TXM,
which has a DEC/Intel 21154 PCI-PCI bridge and two 3C920 Ethernet chips.
2006-04-15 12:53:09 +00:00
yamt
ec5a93183a merge yamt-uio_vmspace branch.
- use vmspace rather than proc or lwp where appropriate.
  the latter is more natural to specify an address space.
  (and less likely to be abused for random purposes.)
- fix a swdmover race.
2006-03-01 12:38:10 +00:00
perry
fbae48b901 Change "inline" back to "__inline" in .h files -- C99 is still too
new, and some apps compile things in C89 mode. C89 keywords stay.

As per core@.
2006-02-16 20:17:12 +00:00
christos
606bb2caed free -> dealloc
unsigned -> size_t for alloc/dealloc
2006-01-25 18:28:25 +00:00
perry
5f1c88d70d Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete. 2005-12-24 20:06:46 +00:00
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
tsutsui
8a69f0ef96 Remove MIPS_INT_MASK_CLOCK and INT_MASK_REAL_DEV macro and
use MIPS_INT_MASK_5 and MIPS3_HARD_INT_MASK directly.
They were not used since interrupt service function was
moved from MI mips/trap.c to MD part long ago.
2005-11-15 14:03:20 +00:00
tsutsui
45991188b7 Remove COPY_SIGCODE definition, which is not used anywhere. 2005-11-15 13:45:30 +00:00
tsutsui
7d2d9d6fe1 Bump MAXPHYS from 32K to 64K.
asc.c has now its own asc_minphys(), and both osiop and oosiop at jazzio
work fine with 64K MAXPHYS.
2005-11-06 11:15:40 +00:00
tsutsui
fdb3b14bb4 Adapt arc port to the new MI mips3 wired map functions.
Tested on NEC-RD94 with several PCI and jazzio devices.
2005-11-05 09:50:50 +00:00
tsutsui
bdf356473e Use new delay(9) for DELAY(9). 2005-10-30 07:53:16 +00:00
tsutsui
49b8c2626d - use mips3_cp0_count_read() for delay(9).
- delay(9) should take unsigned int, not int.
2005-10-30 04:34:03 +00:00
dyoung
a37289db57 Make disklabel(8) and fdisk(8) into "host tools " last step: build
and install ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-disklabel,
${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-fdisk by "reaching over" to
the sources in ${NETBSDSRCDIR}/sbin/{disklabel fdisk}/.

To avoid clashes with a build-host's header files, especially on
*BSD, the host-tools versions of fdisk and disklabel search for
#includes such as disklabel.h, disklabel_acorn.h, disklabel_gpt.h,
and bootinfo.h in a new #includes namespace, nbinclude/.  That is,
they #include <nbinclude/sys/disklabel.h>, <nbinclude/machine/disklabel.h>,
<nbinclude/sparc64/disklabel.h>, instead of <sys/disklabel.h> and
such.  I have also updated the system headers to #include from
nbinclude/-space when HAVE_NBTOOL_CONFIG_H is #defined.
2005-06-12 19:46:15 +00:00
he
9eabff5290 Appease -Wcast-qual by adding consts in appropriate places. 2005-06-09 16:02:19 +00:00
tsutsui
da084245a6 Add const. 2005-06-03 12:30:53 +00:00
tsutsui
f7e6e3b4da Add a const. 2005-06-03 12:11:17 +00:00
tsutsui
c32e803d9a Add const. 2005-06-03 12:08:50 +00:00
tsutsui
b28c4afbba Add a long-awaited standalone boot program for arc port to load
ELF kernels instead of booting ECOFF kernels directly by ARCBIOS.
Tested on my NEC-J96A and NEC-JC94, and ok'ed by soda.

XXX: Maybe we should share some of these sources with sgimips
XXX: (in sys/dev/arcbios/stand?)
2005-04-18 16:27:54 +00:00
matt
a6db24a485 Add a dm_maxsegsz public member to bus_dmamap_t. This allows a user of the API
to select the maximum segment size for each bus_dmamap_load (up to the maxsegsz
supplied to bus_dmamap_create).  dm_maxsegsz is reset to the value supplied to
bus_dmamap_create when the dmamap is unloaded.
2005-03-09 19:04:43 +00:00
tsutsui
7310abde32 Make all intr_mask value types uint32_t rather than int, u_int,
or unsigned etc.
2005-01-22 08:43:02 +00:00
tsutsui
7fe2a5a003 - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
2005-01-22 07:35:33 +00:00
drochner
a5a5473c25 remove now unnecessary "pci_enumerate_bus" definitions 2004-07-29 16:55:25 +00:00
drochner
12abfacf0b just include <sys/joystick.h> 2004-07-02 17:15:10 +00:00
kleink
7b3b647647 Factor out W{CHAR,INT}_{MAX,MIN} into their own header file. 2004-05-08 21:51:47 +00:00
wiz
d20841bb64 Uppercase CPU, plural is CPUs. 2004-02-13 11:36:08 +00:00