Commit Graph

34513 Commits

Author SHA1 Message Date
bouyer 1c91f1dcd4 We want bus_space_set_region_2(), not _1() here. 2003-01-22 21:47:47 +00:00
kleink 8065f1dfa1 MPC601 support bits:
* install 601-specific DSI and RUNMODETRC trap handlers
* save/restore MQ in trapframe, add MQ hooks to DDB
* extend battable to 512 entries to hold the 601's 8M translations
* instead of adding I/O to BAT starvation, set up segment registers
  for Memory-Forced I/O Controller Interface Access
* sync after tlbie
2003-01-22 21:44:54 +00:00
jdolecek b8445f760f bump ramdisk image to 2330k 2003-01-22 21:16:32 +00:00
kleink 892f5b1680 Add mfrtcl() and mfrtc(), similar to mftbl() and mftb(). 2003-01-22 21:05:50 +00:00
kleink 7553f82ab0 Recognize %mq, and adjust disasm_fields() slightly to print it. 2003-01-22 21:03:37 +00:00
hannken e6785a37e2 Increase time to wait for TLB IPI rendezvous.
Approved by: Frank van der Linden <fvdl@netbsd.org>
2003-01-22 18:32:18 +00:00
christos 2bb5209b1b lwp'ify 2003-01-22 17:48:02 +00:00
simonb d77e3b36e0 Assign to pcb->pcb_context[] in the same order in cpu_lwp_fork() and
cpu_setfunc().
2003-01-22 13:55:09 +00:00
scw e212eb9e09 Fix pasto in last commit. 2003-01-22 13:46:44 +00:00
scw a4b020d99e In cpu_upcall(), validate the address of the upcall handler so as to
avoid a kernel-mode exception if restoring an invalid SPC.
2003-01-22 13:40:57 +00:00
simonb f1e4a936fe White space nit; make comments line up nicely. 2003-01-22 13:40:34 +00:00
scw 3b0144945a Fix a cpu_switchto() botch. 2003-01-22 13:38:51 +00:00
scw fe8c97c2e1 In _MCONTEXT_TO_SIGCONTEXT(), set r24 to the magic number expected
by sh5's sys___sigreturn14().
2003-01-22 13:38:11 +00:00
scw 1ec8a7e381 Add _UC_UCONTEXT_ALIGN. 2003-01-22 13:35:55 +00:00
yamt 41ad61ee76 make KSTACK_CHECK_* compile after sa merge. 2003-01-22 12:52:14 +00:00
rafal c406903ac2 LWP'ify the svr4_mcontext stuff. 2003-01-22 04:32:17 +00:00
jdolecek fe21ba6c7f comment out static prototype for pci_intr_fixup_ibm_6040() for now,
it's not implemented here (nor used)
2003-01-21 22:01:57 +00:00
jdolecek 225c76a84a add prototype for switch_lwp_exit() 2003-01-21 21:59:49 +00:00
kleink 2726c9bbeb Add ns32k ucontext kernel portions. Not entirely updated for the LWP
universe (like the rest of the port), but presumed working.
2003-01-21 20:50:43 +00:00
martin fbc8c025c2 Rename the DIV0 traps to avoid confusion with the usage on the sparc
port: T_IDIV0 is the hardware trap generated on integer division by
zero, T_DIV0 is the software trap used to signal the same event.

This makes 32 bit kernels able to run sparc code with the v7 multiply/
divide library, as well as with the v8 one.
2003-01-21 20:42:02 +00:00
bouyer 099e41a34e Pass proper len to word_zero().
Bump totlen in the last wantsbyte case, so that it's always even.
Both pointed out by Gunther Nikl.
2003-01-21 20:39:29 +00:00
martin 8772c68807 Rename the DIV0 traps to avoid confusion with the usage on the sparc
port: T_IDIV0 is the hardware trap generated on integer division by
zero, T_DIV0 is the software trap used to signal the same event.

This makes 32 bit kernels able to run sparc code with the v7 multiply/
divide library.

Spotted by Valeriy E. Ushakov.
2003-01-21 19:46:49 +00:00
kleink 6279465ec2 Add <machine/mcontext.h> wrapper. 2003-01-21 14:39:35 +00:00
scw 2dd1c1657f Add sigcontext/mcontext conversion macros. 2003-01-21 11:28:01 +00:00
scw a57f525335 Define {,UN}LINK_BIG_FRAME() macros for dealing with stackframes
greater than 511 bytes in size.
2003-01-21 11:27:18 +00:00
scw c3be47693c Use 'int' instead of 'u_int32_t' in a couple of places to avoid
depending on sys/types.h.
2003-01-21 11:26:04 +00:00
jdolecek b6e6d81aa4 fix pasto in previous to make this compile 2003-01-21 07:12:54 +00:00
jdolecek 0d1394f592 config says nsphy and ukphy are orphaned (nothing matching 'mii?' declared)
comment them out
2003-01-21 07:10:46 +00:00
sjg b3d7df8002 Don't hide bootmid behind MULTIPROCESSOR. 2003-01-21 06:18:41 +00:00
simonb 76cc21a34c Fix a tyop and some white-space nits. 2003-01-21 04:26:01 +00:00
matt b03d17694a Do a preliminary switchover of the mach code to lwp's. It compiles now
but probably doesn't work.   That's for someone who understand this code
better.
2003-01-21 04:06:06 +00:00
itojun d4bff57bae s/options^I^I/options ^I/ 2003-01-21 02:44:15 +00:00
scw 0767992461 If we don't explicitly recognise the trap type, only panic if it
came from kernel mode. Otherwise, print details of the exception
and send a SIGILL to the process.

The is necessary now that debug exceptions are handled here.
2003-01-20 22:32:26 +00:00
scw 80284bdc34 Arrange for non-panic debug sync/async exceptions to re-vector through the
real sync/async exception handler instead of always calling panic_trap().
Otherwise, userland BRK instructions can halt the system.
2003-01-20 22:25:09 +00:00
pk 26eedde15b srmmu_cache_flush: when flushing per-page and doing more than one page,
we might be crossing a segment boundary.
2003-01-20 22:15:54 +00:00
pk d823499ff4 pmap_enter4m: when installing a new PTE we don't need to invoke the elaborate
TLB de-map protocol.  In the relatively infrequent case where this function
must update an existing mapping, do the de-map explicitly before installing
the new PTE value.
2003-01-20 22:03:54 +00:00
pk ab9a8ae184 Set the system-wide cache aliasing distance according to the largest cache
found on the CPU modules (hypersparc & cypress).

Vikings have a physically indexed cache, so don't bother with computing an
aliasing distance (leaving cache_alias_dist zero disables the BAD_ALIAS macro).
2003-01-20 21:56:34 +00:00
pk b4a0aebea2 Add SUN4D case for cache alias macros. 2003-01-20 21:43:38 +00:00
aymeric 32571dfb87 fill in the dv_unit field of the fake "struct device" correctly.
In particular, this makes grfN, N != 0, work as console.
Tested by Ignatios.
2003-01-20 21:24:56 +00:00
pk 353e527861 Remove the restriction that the boot CPU must be the first CPU in the order
as it is presented by the PROM. This is actually amazingly less trivial
than it looks at first, since the finding the Module ID that's currently
executing your code is specific for each module type and/or manufacture.
2003-01-20 20:51:33 +00:00
christos e83cbded11 add support for p1003.1b semaphores. From FreeBSD 2003-01-20 20:08:30 +00:00
scw def0257e54 Split struct reg into integer and FP parts, to be more like every other port.
As a side benefit, advertise PT_[GS]ETFPREGS.
2003-01-20 20:07:52 +00:00
drochner 3ef8fd67ee this is too young to bitrot: LWPify 2003-01-20 18:43:18 +00:00
sommerfeld 69ed85673a We really don't need two vanity configs for BP6-based systems
("SWINGER" is the other).
2003-01-20 16:33:05 +00:00
thorpej 706b88727b Fix typo in sigcontext conversion macros. From Christopher SEKIYA. 2003-01-20 16:28:13 +00:00
pk 18f455c44f Replace some more VA2PA(<static_addr>) calls with PMAP_BOOTSTRAP_VA2PA() 2003-01-20 15:45:40 +00:00
bouyer 4bce909c04 bzero the part of the buffer used to pad the packet to
ETHER_MIN_LEN - ETHER_CRC_LEN.
2003-01-20 14:59:27 +00:00
pk 5815e88f83 De-couple some MULTIPROCESSOR and SUN4M/SUN4D dependencies. 2003-01-20 12:06:49 +00:00
matt 82fd269f15 __greg_t should be an long, not int. (LP64 friendliness) 2003-01-20 06:58:10 +00:00
simonb 276fd1665c The Double-Semi-Colon Police. 2003-01-20 05:29:53 +00:00
matt 2f3596224d Kill all references to struct __gregs and use the _REG_xx names. 2003-01-20 05:26:46 +00:00
matt 829f6cad3d Fix some SA lossage. 2003-01-20 04:45:56 +00:00
toddpw b9f1c92826 If booted_kernel ends in .aout, remove it, to help libkvm find an ELF kernel. 2003-01-20 01:44:10 +00:00
lukem ef1ca5d8b8 crank to 2240k; they've grown again 2003-01-20 01:39:02 +00:00
simonb c369177127 Remove variable that is only assigned too but not referenced. 2003-01-20 01:29:18 +00:00
simonb 540020ec01 Don't need an extern declaration of phys_map; it's in uvm_extern.h. 2003-01-20 01:28:33 +00:00
soren 0a8d7994d1 Attachment for the HD44780 display and keypad on the front of Cobalt machines. 2003-01-20 01:26:12 +00:00
simonb b4509098d5 Put the storage class first. 2003-01-20 01:25:04 +00:00
pk 5be63cb4a3 xcall(): two more printf => printf_nolog 2003-01-20 00:55:52 +00:00
matt fb891b41f5 Add _REG_foo to ppc mcontext and use them instead of constants. 2003-01-20 00:53:55 +00:00
rafal c1ff3ce973 Fix a bug that would cause the PCI fixup to assign addresses beyond the range
of KSEG0/1 mappable PCI window (the MEG_ALIGN macro was aligning to *16* MB
instead of *1* MB due to an extra 0 in the round-to constant).  Also, allow
the PCI code to fix up all functions of a multifunction device; both from
Chris Sekiya, with a bit of massaging by me.
2003-01-19 23:08:54 +00:00
rafal 48eb4573c0 Parse out flags passed to the kernel on boot; from Scott Taylor, tweaked to
use the MI boot_flags.h interface by me.
2003-01-19 22:36:00 +00:00
rafal 2eef5c9ba8 Turn on more of the PCI interrupts; from Chris Sekiya. 2003-01-19 22:33:20 +00:00
ragge 6ad43b52da Add some instrumentation and clean up some VAX8600 code.
From Johnny Billquist.
2003-01-19 22:29:22 +00:00
rafal 6c79dcd0e4 Update to use the full DS1687 register set, therefore allowing the clock to
store absolute year rather than an offset -- this means the clock is now
consitent across the ARCS PROM, IRIX and NetBSD.

XXX: This attachment is now a mismoner, since it's a Dallas Semi RTC, not
a Motorola RTC.  Should be renamed.
2003-01-19 22:26:38 +00:00
rafal 0c4b06c362 Add pci/usb/audio devices; from Chris Sekiya. 2003-01-19 22:23:03 +00:00
rafal 537bf9a526 Change DS1286 definitions to start with DS1286_ rather than DS_ so these and
DS1687 definitions are easier to distinguish.
2003-01-19 22:20:43 +00:00
ragge aa92009e2b Bring back "START=start", otherwise booting via real VMB don't work. 2003-01-19 21:37:04 +00:00
scw c64b785002 Add sh5 kernel support for SAs.
This gets the Cayman to multi-user with a non-SA aware userland.
2003-01-19 19:49:47 +00:00
scw 8b92aecb3f Use the full 'sh5le-unknown-netbsd-' prefixed toolchain names, and
set optimisation to -O2 now that gcc seems to generate decent sh5 code.
2003-01-19 19:46:57 +00:00
thorpej 5819507df3 Merge the nathanw_sa branch. 2003-01-19 16:30:13 +00:00
tron d9835f8fa4 Add "COMPAT_OSSAUDIO" option. 2003-01-19 10:42:54 +00:00
tron b4458473fd Correct indentation error for "COMPAT_OSSAUDIO" option. 2003-01-19 10:42:06 +00:00
tsutsui 59dafa2c6b TAB/space cleanup. 2003-01-19 10:06:12 +00:00
matt 5fac7ff5ae Make this reflect reality. 2003-01-19 09:23:39 +00:00
thorpej ced18120c6 Merge the nathanw_sa branch. 2003-01-19 07:29:19 +00:00
tsutsui 55b4104918 Fix pasto. 2003-01-19 03:36:58 +00:00
matt a0356cae2a Add CALLFRAMELEN and use it. 2003-01-19 02:47:36 +00:00
matt ef4a3f75d9 LP64'ify. 2003-01-19 02:46:08 +00:00
matt f35338749b Cast to register_t instead of int to be nicer for LP64.
Simplify copyin/copyout/copyinstr/copyoutstr.  Fix bug
where the user virtual address was not updated so that
if the user's buffer crossed a segment boundary, the
wrong data could be copied.  Localize USER_SR to the
ILP32 version of setusr/unsetusr.
2003-01-19 02:43:11 +00:00
matt d8f30693f8 Use CALLFRAMELEN instead of 16. 2003-01-19 02:39:47 +00:00
matt bf7778a6da Add trapframe32 (for compat_netbsd32).
Add CALLFRAMELEN.  (so we can remove many of the hard coded "16" or "15"
in the powerpc code).
2003-01-19 00:42:24 +00:00
matt 328674047a ALIGN should use u_long, not u_int 2003-01-19 00:25:22 +00:00
matt 92609b9678 Cast to register_t, not int, to be more LP64 friendly. 2003-01-19 00:01:09 +00:00
matt b3d36290af Improve sigcode.S template so linux_sigcode.S can use it as well. Add a
netbsd32_sigcode.S.
2003-01-19 00:00:11 +00:00
matt d192a5d694 Cast to register_t, not int, to be more _LP64 friendly. 2003-01-18 23:58:19 +00:00
matt e20e04fa05 Allow other compat use this as a template. 2003-01-18 23:46:32 +00:00
matt 4adb810fe1 In cpu_upcall, cast to register_t, not int. (int is not LP64 friendly) 2003-01-18 23:43:24 +00:00
thorpej 470075179e Merge the nathanw_sa branch. 2003-01-18 23:20:24 +00:00
christos 7b47c1bae4 add COMPAT_OSSAUDIO [for lkms that need it]. XXX: wish for /dev/ksyms 2003-01-18 22:33:29 +00:00
matt b7af0cbc04 Add LP64 support. 2003-01-18 21:38:03 +00:00
matt 024c9c135c Add a temporary bridge to use %foo regnames in kernel / standalone code. 2003-01-18 21:36:44 +00:00
matt 3d62e5c159 Fix LP64 botch. 2003-01-18 21:32:58 +00:00
matt d610b65d22 Make register_t. Change the printfs in trap.c to match. 2003-01-18 21:28:10 +00:00
augustss f5d6c1b585 Include <sys/sa.h> 2003-01-18 18:20:10 +00:00
augustss ae211f08e6 Change name of an #ifdef. 2003-01-18 18:17:51 +00:00
augustss 9a323447ab Add mcontext.h. 2003-01-18 18:17:23 +00:00
augustss 633c8a5bcb Fix typo in comment. 2003-01-18 17:40:27 +00:00
jdolecek 968312910e fix pastos in previous change 2003-01-18 13:29:25 +00:00
tsutsui aa4186745b Add '#define' for _MCONTEXT_TO_SIGCONTEXT(). 2003-01-18 13:03:17 +00:00