Commit Graph

61642 Commits

Author SHA1 Message Date
pk bfb9cac2fc Release the kernel lock in upcallret() and startlwp(). 2003-01-26 13:20:12 +00:00
manu 55215e5266 Remove right duplication on thread creation, which became useless now we
are using lwp.
Enable kill -9 to kill parent thread waiting for its child.
Use upcallret instead of child_return for the newly created lwp.
Add debug messages for thread creation.

Thread creation are still broken...
2003-01-26 12:39:32 +00:00
tsutsui daf84696c6 More printf format cleanup to reduce casts. 2003-01-26 06:42:31 +00:00
matt ee04df9a4d Add support for Am79C87[45]. 2003-01-26 06:25:08 +00:00
matt 5ade701481 Regen. 2003-01-26 06:21:03 +00:00
matt b9f79bf02f Add AMD Am79C87[45] (which use the Altima OUI). 2003-01-26 06:20:30 +00:00
tsutsui eb506d3c00 Fix further printf format warnings for FD_DEBUG, in the wake of daddr_t
having changed.
2003-01-26 06:16:31 +00:00
fvdl 60f2388778 Do that funky SA thang. 2003-01-26 00:05:36 +00:00
kleink bbb601497d Fix further printf format warnings for DEBUG, in the wake of daddr_t
having changed.
2003-01-25 23:18:46 +00:00
soren 549c8ffd36 Note that the FS_ definitions are for compatibility only. 2003-01-25 23:17:38 +00:00
kleink 4e0e5333ae Fix further printf format warnings for DEBUG, in the wake of daddr_t
having changed.
2003-01-25 23:00:09 +00:00
tron 5067836b9e Use PRId64 instead of hard coding "%lld" to fix build problems under
LP64 ports.
2003-01-25 18:12:31 +00:00
fvdl a138610cac The oldblks and newblks arrays are used to store direct copies of
on-disk block pointers, so they should be int32_t. Error found
by Izumi Tsutsui.
2003-01-25 16:40:28 +00:00
tsutsui 61924d6eac Use PRId64 from <machine/int_fmtio.h> in printf format for daddr_t.
(Eventually jazzio would be moved into MI place :-)
2003-01-25 15:43:11 +00:00
isaki 9bf4faf898 Make it compilable with 64bit daddr_t. 2003-01-25 14:13:46 +00:00
tron 63dda858c6 Fix printf() format strings problems caused by "daddr_t" change. 2003-01-25 12:50:38 +00:00
thorpej f57bacfc63 Add a couple more Promise ATA133 controllers. 2003-01-25 04:45:24 +00:00
tsutsui cce861a437 Make sure cache_sh[34]_op_*() functions actually inlined. 2003-01-25 04:21:01 +00:00
thorpej f4ddf46102 Back out unintentional commit. 2003-01-25 02:12:22 +00:00
thorpej fd5a840f3c Add support for ADI Engineering's "Big Red Head" i80200 evaluation
and development board, based around their BECC companion chip.  Despite
its name, the board can run in big- or little-endian mode (we currently
run only in the latter).
2003-01-25 02:00:15 +00:00
thorpej b1b164a859 Support for ADI Engineering's Big Endian Companion Chip for the
Intel i80200 XScale processor.  Despite its name, the BECC can
run in both big- and little-endian modes.
2003-01-25 01:57:17 +00:00
manu 82a9c6faf0 Use per process emuldata for the thread id for now, but this will change
shortly. This makes hello world working again.
2003-01-24 22:35:43 +00:00
fvdl a3ff3a3038 Bump daddr_t to 64 bits. Replace it with int32_t in all places where
it was used on-disk, so that on-disk formats remain the same.
Remove ufs_daddr_t and ufs_lbn_t for the time being.
2003-01-24 21:55:02 +00:00
manu cb771e3c64 Make the beast build again (but it is still probably broken) 2003-01-24 21:37:01 +00:00
kleink 87f0398e29 Fix inverted test in previous. (D'oh!) 2003-01-24 21:26:08 +00:00
pk a22484a1ea zs_shutdown: lower IPL before sleeping. Also note the fact that the
effectiveness of that very tsleep() call is dubious at best.
2003-01-24 20:46:45 +00:00
jdolecek 96125fbe64 fix typo in comment, and add (perhaps redundant) note that this depends
on file-system CODA
2003-01-24 18:51:53 +00:00
thorpej ae5c422a40 Regen; Tweak a Promise description. 2003-01-24 17:47:17 +00:00
thorpej de5fb86d32 Tweak a Promise description. 2003-01-24 17:46:51 +00:00
nakayama 54e4cb1a6c fix kernel build error, such a configs w/o kbd, ms.
(approved by martin)
2003-01-24 16:54:34 +00:00
thorpej 9ba98c598b Add a pointer to p1003.1b semaphore data. 2003-01-24 16:24:44 +00:00
augustss e06bdc7dcb Get rid of some debug stuff. 2003-01-24 11:55:19 +00:00
augustss d93f9bdaa1 Get rid of some old BAT nonsense. 2003-01-24 11:51:42 +00:00
thorpej b3ffb6e4ab * Enable Ultra133 on the NVIDIA nForce 2.
* Make sure to test for PCI_VENDOR_AMD before testing for any
  AMD products.
2003-01-24 05:51:04 +00:00
thorpej fdedc91f87 Regen; add some more Promise products. 2003-01-24 05:34:25 +00:00
thorpej 5a31d135b0 Add some more Promise products. 2003-01-24 05:33:12 +00:00
thorpej b3b68a3ced Sort the Promise entries. 2003-01-24 05:18:56 +00:00
thorpej f6cc829138 Add support for the NVIDIA nForce ATA100 and nForce2 ATA133
IDE controllers, which are more-or-less compatible with the
AMD controllers.

XXX Need to determine the correct timing value for the nForce2
XXX at Ultra133, so we cap it at Ultra100, for now.
2003-01-24 04:53:13 +00:00
thorpej 34461a3ff9 Regen; add Nvidia nForce2 ATA133 IDE. 2003-01-24 03:16:08 +00:00
thorpej 8204d0458d Add Nvidia nForce2 ATA133 IDE product ID, and shuffle some
Nvidia entries around a little.
2003-01-24 03:15:04 +00:00
tsarna 68d5821c1b regen 2003-01-24 01:51:09 +00:00
tsarna 1b01d76d23 Add Griffin PowerMate 2003-01-24 01:49:22 +00:00
thorpej 0139305811 Major overhaul of this code, fixing locking protocol issues and handling
of semaphores at fork time.
2003-01-24 01:46:27 +00:00
thorpej 3ff1552cc5 Add "fork hooks", a'la "exec hooks" and "exit hooks" which allow
subsystems to do special processing to the parent and/or child at
fork time.
2003-01-24 01:42:52 +00:00
thorpej 157e66459d Regen; reserve slots for <mqueue.h> and <sched.h> system calls. 2003-01-24 01:28:05 +00:00
thorpej 237ebf04da Reserve slots for the p1003.1b scheduler system calls. 2003-01-24 01:27:21 +00:00
thorpej c8c6d5ea40 Reserve slots for p1003.1b message queue calls. 2003-01-24 01:23:27 +00:00
thorpej 30427190e0 Regen; allocate slot for _ksem_timedwait(). 2003-01-24 01:18:50 +00:00
thorpej 9331f2b780 Allocate a slot for _ksem_timedwait(), although it is not currently
implemented.
2003-01-24 01:17:53 +00:00
markd 31b8810652 Regen. 2003-01-24 00:19:40 +00:00
markd 4606c7c4e4 Add Nikon E885. 2003-01-24 00:18:26 +00:00
thorpej 77acc6e3bc Cosmetic changes. 2003-01-23 23:52:38 +00:00
thorpej 9243a2a667 Regen; allow ktruss/kdump to properly see _ksem_*(). 2003-01-23 23:31:36 +00:00
thorpej 5db6496bbc Allow the _ksem_*() syscalls to be properly seen by ktruss/kdump. 2003-01-23 23:29:46 +00:00
matt 66a5aac4a5 Fix a missing p to l change. 2003-01-23 23:18:04 +00:00
pk f65446d08d When stopping a CPU, clear its bit from cpu_ready_mask. 2003-01-23 22:33:41 +00:00
jdolecek 2011a991cc ramdisk image overflew, bump by 4K 2003-01-23 21:37:28 +00:00
jdolecek 31fcb050d5 add another memory size detection routine, using int15, function 0xc7, which
is supported on later IBM PS/2 models; this is necessary to detect memory
over 64MB
thanks go to Pavel Cahyna for testing on his IBM PS/2 machine with 128MB

bump biosboot version to 2.15
2003-01-23 21:22:24 +00:00
augustss 8aa76b0ae7 Add processor interface register definitions. 2003-01-23 21:17:15 +00:00
jdolecek 1323e01ddf use %e?x instead of %?x as 'xorl' arguments
use %al for 'movb' target, and 'andb' for masking the result with $0x02
since 'and' conveniently sets ZF, use 'and+jnz' instead of 'and+cmp+jne'
2003-01-23 21:01:18 +00:00
pk a6a16741fe Optimize xcall() et.al. further by maintaining a cpuset mask of all CPUs
marked ready. This saves repeated testing for NULL pointers and the
CPUFLG_READY flag.
Also use a separate flag variable to signal xcall completion. This saves a
load and a pipeline stall.
2003-01-23 19:54:35 +00:00
pk a799bdd88d GC the per-CPU message lock.
Move the level 15 msg area further down the cpuinfo structure, as it's
used infrequently.
2003-01-23 18:49:08 +00:00
christos 3ea86aec06 PT_DUMPCORE support. 2003-01-23 17:35:18 +00:00
kleink 15027ca61b Correct inverted logic in comment. 2003-01-23 15:59:38 +00:00
gehenna de40fbc7a1 Add the block-device-only devices.
Reported by ragge.
2003-01-23 15:07:54 +00:00
pk 39ce68a44b bogusintr: print cpu number. 2003-01-23 14:56:06 +00:00
pk 22acc2a827 Shave some code off xcall(). 2003-01-23 14:54:33 +00:00
pk 40a1653fc2 pmap_kenter_pa4m: like pmap_enk4m(), we can use setpte4m().
ctx_free: fix cache flush context for sun4/sun4c.
2003-01-23 12:48:53 +00:00
pk 58005dc9d3 Zombie procs have no lwps. 2003-01-23 12:41:33 +00:00
pk 698ca6fb6f LWPify cpu_debug_dump(). 2003-01-23 11:50:50 +00:00
briggs ecc07a2e36 Use iwin[3] instead of iwin[2] for RAM access and leave iwin[2] unused. 2003-01-23 03:56:45 +00:00
briggs a4734dcbdd Program the BARs after the limit regs. When the BARs are written, the
value actually stored in the BAR is masked by the limit register.
2003-01-23 03:53:16 +00:00
bad f4aacfe9fc Being able to make image backups of your whole disk, not to mention not
causing certain ata disks to lock up by reading beyond the last block,
beats catering to broken devices.

bounds_check_with_label() RAW_PART too.
2003-01-23 00:00:32 +00:00
ragge 413b4a7519 Explicitly cast "g" arg to mtpr to long; to tell gcc that this
instruction will use long indexing.
2003-01-22 23:06:37 +00:00
kleink 2332bdc2f1 Sync MPC601 support bits with UP version. 2003-01-22 22:20:23 +00:00
kleink 6bc656a38f Whitespace nit in previous. 2003-01-22 22:15:06 +00:00
pk 9d33cc7115 Set the interrupt target to the current CPU when directly accessing
the chip for console I/O.
2003-01-22 22:00:39 +00:00
pk 53c776f062 Add functions to set & get the interrupt target CPU. 2003-01-22 21:58:28 +00:00
kleink 2ee2952854 G/c the pmap_bootstrap() segtab interface again. Silly me. 2003-01-22 21:55:14 +00:00
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
rafal 4490fd7293 Last bit of LWP'ification of compat_irix; this is probably wrong, but at
least it compiles and manu said he'd fix it up and test the whole kit when
he had a chance.
2003-01-22 21:04: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
christos ed339f5241 regen. 2003-01-22 17:47:47 +00:00
christos bcc3424bc3 regen 2003-01-22 17:47:35 +00:00
christos 498aa03f2a lwp conversion 2003-01-22 17:47:03 +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
rafal 5234d1eb92 Mechanical LWP'ification of IRIX compat code; untested as of right now. 2003-01-22 12:58:22 +00:00
yamt 41ad61ee76 make KSTACK_CHECK_* compile after sa merge. 2003-01-22 12:52:14 +00:00
jmmv 190a36975b Fix typo: realy -> really. Okay'ed by wiz. 2003-01-22 11:47:05 +00:00
mhitch 0dec3c2159 Lance chip needs to be accessed in sparse address space for alpha. Fixes
Turbochannel Ethernet card on Alpha 3000 systems.
2003-01-22 08:06:21 +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
augustss 0dd40ac3d5 Fix typo in last commit. 2003-01-21 21:00:56 +00:00
augustss 98a0fdb690 Make sure to set xs->datalen when we force a short inquiry. From kern/19971,
Shingo WATANABE.
2003-01-21 20:56:57 +00:00
augustss fa5b0c9ca0 Add quirk for Melco adapter. From kern/19971, Shingo WATANABE. 2003-01-21 20:56:13 +00:00
augustss 9c6ee93f4b Regen. 2003-01-21 20:53:51 +00:00
augustss 234e556fd2 Add Melco USB-IDE adapter. 2003-01-21 20:53:29 +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
kent 19056063ce Add DIAGNOSTIC code provided in PR kern/19919 by DHOYASHIKI Shinichi. 2003-01-21 16:05:21 +00:00
kleink 6279465ec2 Add <machine/mcontext.h> wrapper. 2003-01-21 14:39:35 +00:00
christos aa30f99ab5 - add $NetBSD$
- include <sys/cdefs.h>
- remove variable names from args
2003-01-21 14:11:31 +00:00
kleink 38233ac58c G/c orphaned declaration of `runtime'; from HAMAJIMA Katsuomi in
PR kern/19974.
2003-01-21 13:56:53 +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
itojun aa8971e35f m_tag transition mistake (within #if 0) 2003-01-21 05:43:26 +00:00
itojun 0eec7150b6 vlan tagging mistake during m_tag transition 2003-01-21 05:39:57 +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
matt de92ce633f Regen. 2003-01-21 04:02:37 +00:00
matt d8ad92c6b6 Add <sys/sa.h> 2003-01-21 04:02:10 +00:00
matt 312dfd8487 Adapt to the LWP world. 2003-01-21 04:01:09 +00:00
matt e093b867e9 Regen. 2003-01-21 04:00:02 +00:00
matt 6d793da904 Add <sys/sa.h> 2003-01-21 03:59:27 +00:00
itojun 4d7a2eb391 correct panic when ip-in-ip encapsulation is used. found by Masanori Kanaoka 2003-01-21 03:23:44 +00:00
jdolecek d4ad86a080 finish LWPify 2003-01-21 03:16:06 +00:00
itojun d4bff57bae s/options^I^I/options ^I/ 2003-01-21 02:44:15 +00:00
simonb b2fd1c7b6d Remove a line of unreachable code. It seems to be a remnant of starting
off with a different driver, and the way this code is structured the
offending line isn't needed.
2003-01-21 00:24:20 +00:00
christos 5c729d909f finally: step 5: disable a KASSERT() if we are doing_shutdown.
now sync from ddb should work as badly as before the nathanw_sa merge.
2003-01-21 00:03:07 +00:00
christos d00d441811 step 4: don't de-reference l, if you are going to test if it is NULL a couple
of lines below.
2003-01-21 00:02:07 +00:00
christos 3908d39e06 step 3. Assign lwp properly if null, so that we can PHOLD without segfaulting. 2003-01-21 00:01:14 +00:00
christos 2cc65e9f5e step 2: fix sync so that it does not dereference null lwp and assign p properly. 2003-01-21 00:00:10 +00:00
christos 416978b15b The hunt to make sync work from ddb again begins here.
Protect against lwp null dereference. set proc p properly.
2003-01-20 23:59:14 +00:00
christos 0f6167a798 name the component that should be leaf in the diagnostic. 2003-01-20 23:57:49 +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
jdolecek 6e7eeb5d94 we now support POSIX 1003.1b semaphores, add _POSIX_SEMAPHORES feature
define
2003-01-20 22:11:15 +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