Commit Graph

58275 Commits

Author SHA1 Message Date
scw bd0dd2e2e1 Add "machine fpr" command. This dumps the FPU registers for the current,
or a specified, process.
2002-09-10 12:44:38 +00:00
scw fe2f8acf65 Another big round of pmap fixes/cleanup:
- Use the PMAP_ASID_* constants from pmap.h

 - Track pmap_pvo_{enter,remove}() depth in the same way as mpc6xx's pmap
   (on which this pmap was originally based).

 - Some misc. tidying up and added commentary.

 - Use the VA/KVA to select whether to use the IPT or PTEG instead of
   checking which pmap is being operated on.

 - Add a handy DDB-callable function which will scan the kernel IPT
   looking for inconsitencies.

 - Finally, when unmapping a pool page, purge the data cache for the
   page. This permits write-back caching to be enabled for kernel
   text/data.
2002-09-10 12:42:03 +00:00
scw bcf9491257 Always save/restore the FPSCR into/from the sigcontext. 2002-09-10 12:33:44 +00:00
scw 1a8208566d - Remove the RESVEC vector table (panic/debug traps). It's now in
machine-specific code.

 - Re-work the code which detects a nested critical section event.
   We can now determine who is the owner of the critical section, and
   what event occurred while it was owned.

 - Work-around a silicon bug which can cause a nested critical event.
   In the _EXCEPTION_ENTRY() macro (which sets up the critical section),
   if there is a pending hardware interrupt which has a higher priority
   than the current IMASK, then the "putcon" which supposedly clears SR.BL
   and sets SR.IMASK to 0xf is not atomic. The pending hardware interrupt
   will be taken, causing a nested critical section event. The work-around
   is to update SR.BL and SR.IMASK separately using two "putcon" insns.
2002-09-10 12:27:21 +00:00
scw cd4797ccfa - Give a process a SIGFPE if it gets an FPU exception.
- Make it possible to at least *try* to resume execution if we
   get an NMI.
 - Major clean-up of the panic/critical section trap handlers.
   The dumped state is now much more accurate.
2002-09-10 12:15:39 +00:00
scw 5359676ddc - Add some comments,
- Fully initialise the FPU state (if enabled),
 - Implement delay() in assembly code.
2002-09-10 12:11:03 +00:00
scw c65ee4aa71 Add the critical section types, and cache mode values.
Delete a couple of unused struct cpu_info fields.
2002-09-10 12:08:49 +00:00
scw d9d434b5ed Always save/restore the FP status/control register across a context switch
(If the FPU is enabled).

Add a DEBUG check to ensure the incoming context's SR is sane.
2002-09-10 12:06:49 +00:00
scw d7e84a627e - Remove the version of delay() which used the cycle counter register.
There were some problems related to wrap-around which lead to
   delaying much longer than requested.
 - Cacheops additions.
2002-09-10 11:59:50 +00:00
scw 0d7cafd74b Add a few more cpu-specific cacheop functions. 2002-09-10 11:56:32 +00:00
scw 7fa549e8d4 Move the RESVEC vector table/handlers to here, since some if it is,
essentially, machine dependent.
2002-09-10 11:53:14 +00:00
scw fdd9155a03 Manifest constants for errors pertaining to recursive critical section
handling.
2002-09-10 11:51:01 +00:00
dbj c1005e24ba reorganized code slightly that converts a partition map to a disklabel.
No functional change intended by this commit.
2002-09-10 11:31:10 +00:00
dbj 1771e13a7e added defines for new partition types found in the wild:
"Apple_UFS"
  "Apple_Boot"
  "Apple_Loader"
  "Linux"
  "Linux_swap"
removed duplicate define for "Apple_Patches"
2002-09-10 11:28:56 +00:00
scw d2336580d6 Manifest constants for ASID values. 2002-09-10 11:11:44 +00:00
scw 8cd70003d7 Add external reference for _sh5_delay_constant. 2002-09-10 11:11:12 +00:00
gmcgarry 857f23b69e Garbage-collect unused sdreset(). Remove commented-out prototypes. 2002-09-10 04:19:57 +00:00
jtk 2bbcff81d5 restore ancestral RCS ID from 4.4BSD-Lite2 2002-09-10 02:52:40 +00:00
simonb db5e8d65c9 Fix tyop in local function name. 2002-09-10 00:52:37 +00:00
simonb e2125ae174 Share disksubr.c across all evbmips "ports" (it was identical). 2002-09-09 06:40:40 +00:00
simonb 221f834ea3 Remove some unused code. 2002-09-09 06:36:39 +00:00
simonb f41231cffc Fix the order of the CPU revision and company options fields in the cpu
table for the Alchemy CPUs; successfully recognises an Au1500 now.
2002-09-09 03:42:04 +00:00
oster 5965f8b92a Disallow 'reconstruct-in-place' on a component that has failed
and has already been reconstructed to a hot spare.
2002-09-09 02:44:17 +00:00
simonb 0f1300fa95 Remove commented-out NFS_BOOT_RWSIZE option. 2002-09-09 02:36:11 +00:00
simonb 54ef88d289 In the idle functions, set curproc to NULL and (#ifdef LOCKDEBUG) call
sched_unlock_idle before enabling interrupts.  LOCKDEBUG kernels now
boot successfully.

Thanks to Chris Gilbert for helping fix this.
2002-09-09 02:32:38 +00:00
oster 23f63d631e On a 'raidctl -f' or 'raidctl -F', close the failed component.
Thanks to Grant and Matt (phone) for poking me about this.
2002-09-09 01:54:53 +00:00
simonb 378a5c4c85 Include "opt_lockdebug.h" here to #ifdef LOCKDEBUG actually does something. 2002-09-09 01:03:10 +00:00
isaki 4ff27b57fb Correct xfer->busy_free status in DIAGNOSTIC. 2002-09-08 07:58:14 +00:00
elric c242f201c5 Modified to avoid compiler warnings. The specific warning related
to const BF_KEY * vars, and I chose to ``fix'' it in this file
rather than elsewhere in the framework because, although the other
fix was more appropriate, nothing seems to use the code in this
file and hence the risk of disrupting other people was lower.  In
the future, the more appropriate change would be to change blowfish.h
and bf_enc.c to have functions with signatures:

BF_encrypt(BF_LONG *, const BF_KEY *);
BF_decrypt(BF_LONG *, const BF_KEY *);
2002-09-08 07:52:41 +00:00
elric b6db42eac8 Added an include of sys/types.h to get u_int32_t and so on. 2002-09-08 07:41:01 +00:00
tsutsui be0f4cfb13 Rename some auto variables which might cause misleadings. 2002-09-08 05:35:42 +00:00
elric 7fbd07ccbe Include <sys/types.h> to allow compilation to occur. 2002-09-07 23:35:37 +00:00
oster b07b6381d5 Protect rf_PrintDAGList() in a few more places. Thanks to Monroe Williams
on current-users for the patch.
2002-09-07 23:11:46 +00:00
elric 29db5af4a5 repoint include file for kernel use. 2002-09-07 22:58:04 +00:00
scw 7af71ec12b Some tidying up, and a fix for an event counter array overrun
which was responsible for corrupting the kernel IPT.
2002-09-07 20:43:32 +00:00
tsutsui bf49a76d3b Call setcontext{4,4m}() directly when we already know the CPU type.
(inspired by OpenBSD)
2002-09-07 18:51:05 +00:00
gehenna 44802dc550 make this compile. 2002-09-07 11:56:33 +00:00
enami c2428db9db Make usr.sbin/ipf/ipftest compiles again. 2002-09-07 00:10:24 +00:00
uwe d7b7f858cb Regen for Integraphics Systems CyberPro 2000 and 2010. 2002-09-06 23:58:11 +00:00
uwe 5619fe21f9 Add product ids for Integraphics Systems CyberPro 2000 and 2010. 2002-09-06 23:41:56 +00:00
matt 45e5f68016 Allow MAXPHYS to be overriden. Increase the default MSGBUFSIZE to 2 pages. 2002-09-06 19:26:26 +00:00
gehenna 70c867953d make this compile with _LKM. 2002-09-06 17:36:19 +00:00
gehenna 13cbb957cf make this compile. 2002-09-06 16:56:13 +00:00
scw b5ad0bee9e Numerous fixes, and some more debug instrumentation.
NetBSD/sh5 now reaches multi-user, although there is still
an occasional wedging problem after a wee while of running.
2002-09-06 16:20:48 +00:00
scw e7281ceb93 - When casting void * to register_t, go via intptr_t instead of uintptr_t
so the register is correctly sign-extended.

 - Some comment fixes.

 - Restore the FP state from the sigcontext if FP regs were saved.

 - Fix up r0 for the benefit of the syscall stub.
2002-09-06 15:48:51 +00:00
scw 3644ff25b2 Small optimisation and tweak to copy{,in,out}str() to make them
work as advertised for corner cases.
2002-09-06 15:41:07 +00:00
scw ed033ad71d Restore the branch-target registers from the correct place... 2002-09-06 15:39:16 +00:00
scw 905138641a Add the User Status Register to db_regs[]. 2002-09-06 15:37:14 +00:00
scw 690813872b Account for the clock interrupt itself in CLKF_INTR(). 2002-09-06 15:36:16 +00:00
scw 12968d78e9 Double-precision FP regs use a single register_t, despite the FP number
being a multiple of two. Correct for this in the _JB_DR macro.
2002-09-06 15:35:41 +00:00
gehenna 5b709627e9 Bump version for the merge of gehenna-devsw. 2002-09-06 14:24:45 +00:00
gehenna 5747ad0039 The device switch ``ipl_cdevsw'' is defined after 1.6H. 2002-09-06 14:00:00 +00:00
gehenna eb1cdba2fd Bump version for the merge of gehenna-devsw. 2002-09-06 13:58:36 +00:00
gehenna 77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
jdolecek 8b77a9070a put an explicit .MAIN target before the .if make() condition; apparently
.MAIN must be defined for the implicit target rule to kick in
this fixes compilation with call like 'make', i.e. without specified target

another option would be to move the .if make() condition after config(8)
generated goo, since config(8) implicitly generates a .MAIN: directive too,
but the MD .if make() really belongs into (7) misc settings section IMHO
2002-09-06 06:16:57 +00:00
itojun 530771e5ef always consult SS_CANTRCVMORE. PR 18185 2002-09-05 23:02:18 +00:00
christos fad54bde7f Make this match reality [not used yet] 2002-09-05 22:28:10 +00:00
christos 2043e8b0c4 remove XXX: 2002-09-05 22:27:36 +00:00
nathanw 48a1b3aab1 Pull in a newer list of mii/phy drivers. 2002-09-05 19:53:15 +00:00
jdolecek b7632e6c3f actually define sti device, to make 'config GENERIC' at least finish 2002-09-05 19:39:46 +00:00
jdolecek 7403e3d736 put back NetBSD RCS Id removed in rev 1.6 2002-09-05 19:23:11 +00:00
jdolecek 8839507f5b whitespace fix past __KERNEL_RCSID() 2002-09-05 18:34:00 +00:00
christos 6cc149625b check out EI_OSABI and EI_ABIVERSION for linux signatures. This is what
http://upx.sourceforge.net/ binaries are like.
2002-09-05 14:32:49 +00:00
scw 45eb1758c0 Clean this up somewhat, and correct some bad offsets. 2002-09-05 09:53:17 +00:00
msaitoh a991dcef11 Add __movstr_i4_{odd,even} for -m4.
Written by SHIMIZU Ryo.
2002-09-05 08:35:15 +00:00
petrov 3962bed888 compiler warning. 2002-09-05 08:02:29 +00:00
erh 5a02e1abe2 Adjust the check for what segments should go on the low priority free list.
If a segment starts exactly at 16M don't try to split it because that causes
the code to try to call uvm_page_physload with a zero length segment.
(kern/17199)
2002-09-05 02:43:00 +00:00
martin a9cd647f4d Adapt to recent sbusvar.h changes.
Use a slightly less conservative timing configuration.
2002-09-04 16:17:52 +00:00
martin e7856d0f2a Adapt to sbusvar.h changes. 2002-09-04 16:12:23 +00:00
scw 570420748b Need opt_kernel_ipt.h here. 2002-09-04 15:31:06 +00:00
scw dd3511071d Mondo pmap fixes, including a bunch of DEBUG stuff.
This still needs a bunch of work, but is good enough to get
us to single-user mode.

To paraphrase a quote from Short Circuit: "NetBSD/sh5 is alive!".
2002-09-04 15:30:12 +00:00
scw 94d1813039 Don't inlcude "opt_kernel_ipt.h" here.
Move KERNEL_IPT_SIZE inside _KERNEL check.
2002-09-04 15:26:29 +00:00
scw ad5e71606f Don't claim we can support a stat clock at this time; I still need to
sort out some clocking issues.
2002-09-04 15:18:14 +00:00
scw 4b8905020d - #define the physical start of RAM.
- Set up a Panic Stack,
 - Don't pre-map the sysfpga at this time.
 - Calculate the CPU speed only if SH5_CPU_SPEED isn't defined.
 - On a related note, make the CPU speed probing code more accurate.
 - Print the CPU speed at startup.
 - Force RB_SINGLE for now, at least until I get a bootloader written.
2002-09-04 15:14:46 +00:00
scw e94347123e Set SMC_FLAGS_32BIT_READ flag before calling the MI code. 2002-09-04 14:55:42 +00:00
scw 0dbf19c561 Add a flag, SMC_FLAGS_32BIT_READ, which is settable by the bus-specific
back-end to indicate that the device always sees reads as 32-bit
transactions, even if the host does 8 or 16-bit reads.

This is necessary for the SH-5 "Cayman" on-board ethernet. The SMsC part
is behind an FPGA which maps all cpu reads to 32-bits transactions.
2002-09-04 14:54:37 +00:00
scw c5c693afff Oops, free bus space via uvm_km_free() instead of pmap_kremove(). 2002-09-04 14:39:56 +00:00
scw 7f0cd9b561 Some bug fixes:
- in _EXCEPTION_EXIT, copy the current ASID to the pre-exception
    context before we switch.
  - fix the pteg hash generation code and EPN masking in the tlb
    miss handler.

Sprinkle some DIAGNOSTIC checks.
2002-09-04 14:37:53 +00:00
scw 8f18047310 Fix a couple of bugs:
- a && which should have been a &
 - advance the PC to the next insn before dealing with a syscall (trapa)

Sprinkle some DEBUG/DIAGNOSTIC code.
2002-09-04 14:34:01 +00:00
scw 5496168b35 In setregs(), set SF_FLAGS_CALLEE_SAVED in the new process' trapframe
to ensure the callee-saved set will be restored when we switch to it.
(It doesn't actually matter to the new process; it just inherits some
crud in those registers from the kernel if we don't set the bit).

Also ensure the strings pointer in r7 is sign-extended.
2002-09-04 14:13:28 +00:00
scw 99355049c8 Zap a couple of bugs caused by finger-trouble during initial development. 2002-09-04 14:04:28 +00:00
scw e6913f183b Ditch the 2*sizeof(void *) padding when setting up the child's kernel stack. 2002-09-04 14:02:47 +00:00
scw 348a751bf7 A bunch of fixes/simplifications to copyin/out and friends.
XXX: These are still the interim, unoptimised versions.
2002-09-04 14:01:24 +00:00
scw adaa2cbf20 Don't bother setting SR.BL before double-checking a TLB entry. It's
sufficient just to set SR.IMASK to 0xf (which also allows single-
stepping through the code).
2002-09-04 13:58:36 +00:00
scw 987c8cb69b When tracking movi/shori, don't discard the upper 32-bits before
printing in ILP32 mode. They still contain useful information.
2002-09-04 13:56:09 +00:00
jdolecek 32fad21d27 regen: claim syscall slots for kqueue(2) and kevent(2) 2002-09-04 07:46:25 +00:00
jdolecek 281be34ad1 claim syscall slots for kqueue(2) and kevent(2) 2002-09-04 07:45:41 +00:00
itojun 37bd81ba1e allow "deprecated" bit to be manually set. PR 18163 2002-09-04 07:22:28 +00:00
jdolecek 4581b93651 Fix comments for #endif, to keep proper nesting and reflect reality.
Fixes kern/18162 by Roskens.
2002-09-04 06:34:21 +00:00
itojun 5e8477f10f correct integer overrun 2002-09-04 03:58:37 +00:00
itojun 98ba20f9e4 backout 1.78, ioctl(SIOCSIFADDR) is needed to test if the interface
supports AF_INET or not
2002-09-04 03:45:01 +00:00
mason 8b01de5e08 Commit with correct RCS IDs in these files - hadn't looked into them
previously to note that they reference the RCS ID in "pcmciadevs".
Hence, committed versions which incorrectly pointed back to the RCS ID
of the "pcmciadevs" that existed prior to my addition. Corrected in this
commit.
2002-09-04 02:21:09 +00:00
thorpej 467482eee8 Add support for memory-mapped PCnet-PCI chips. 2002-09-04 01:36:07 +00:00
matt 48bbf5f234 Use the queue macros from <sys/queue.h> instead of referring to the queue
members directly.  Use *_FOREACH whenever possible.
2002-09-04 01:32:31 +00:00
mason 8e9d888f97 Support this device, which is evidently a rebadged GEMTEK WLAN which we
already support under another name:

wi0 at pcmcia0 function 0: NETGEAR MA401RA Wireless PC, Card, ISL37300PEval-RevA
wi0: 802.11 address <whatever>
wi0: using RF:PRISM2.5 MAC:ISL3873B(PCMCIA)
wi0: Intersil Firmware: Primary (1.0.7), Station (1.3.6)
2002-09-04 00:04:03 +00:00
itojun 91d888cd38 avoid SIOCSIFADDR if there's an IPv4 address already.
the comment doesn't match the behavior, it seems that the code assumed that
there's only one IPv4 address on an interface.  sync w/kame
2002-09-04 00:03:58 +00:00
chris a4e86e6cd5 Found the issue with the kinetic bootloader.
Seems that we assume that the dram blocks are sorted, and that the first/lowest address is also where the kernel is.

If the above is not true, then we're on a kinetic (probably should make a better way to indicate this)  So search for all dram blocks < with starting addr lower than the first block and remove them.

Currently there's minimal performance gain (which is odd as the SDRAM is meant to be faster, I'm wondering if we need to prod some hidden registers to set timing information.

Note that I still get 16MB/s compared with 7MB/s on RiscStation and 93MB/s on my cats.  I'm thinking that something else is seriously nasty on acorn32.
2002-09-03 23:00:40 +00:00
augustss 2c1216208f Replace mr with gtp device. 2002-09-03 18:55:47 +00:00
augustss 405cd45f89 Replace the mr driver with the gtp driver. From OpenBSD. 2002-09-03 18:54:41 +00:00
augustss 2f5aeb92d3 Use a different way to recognize tea5759 chips. From OpenBSD. 2002-09-03 18:53:40 +00:00
thorpej 0007acff8b Fix the PARTID for the original 79c970, from Dave Barnes, kern/18029. 2002-09-03 17:57:49 +00:00
jdolecek 6fcbc6b230 regen: Cabletron 22xx (AMD LANCE/PCnet Ethernet) addition 2002-09-03 17:42:54 +00:00
jdolecek 5c2a73c8d7 According to kern/17695, the Cabletron 22xx works with the NetBSD
Lance Ethernet driver attached to isapnp. Add it to the list.
2002-09-03 17:42:26 +00:00
thorpej c9dafdb84c Increase the default stack limit to 2M (from 512K on sparc and 1M
on sparc64).
2002-09-03 16:24:35 +00:00
onoe 26ebf5f371 Several fixes hostap for awi driver:
- aging ang clear inactivity stations
- DTIM field in beacon/probe response.
- ignore IFF_PROMISC for hostap mode, since 802.11 has 3 address fields,
  so that promisc mode is not required for AP function.
2002-09-03 14:54:00 +00:00
itojun c0a8cbae7c drop garbage packet (due to chip bug) before injecting it to bpf.
make sure to behave as IFF_SIMPLEX, some lance chips does not behave as
IFF_SIMPLEX (e.g. vmware in outgoing multicast case).
http://mail-index.netbsd.org/tech-net/2001/05/16/0001.html
2002-09-03 14:48:16 +00:00
chs 5a29cadda3 add back some cache flushes that are actually necessary.
any time we remove all access to a given virtual page,
we must invalidate the (write-through) L1 dcache.
pmap_remove() still had it, but pmap_kremove(), pmap_clear_reference()
and pmap_page_protect(VM_PROT_NONE) didn't and needed it.
fixes PR 18040.
2002-09-03 05:08:21 +00:00
thorpej ae8d1b60df When breaking an loan due to a page fault, check to see if the other
kind of reference-holder (anon or object) is referencing the page.  If
not, then the page must be removed from the pageq's.

Reviewed by Chuck Silvers.
2002-09-02 21:09:50 +00:00
scw 57ec33c922 s/==/!=/ when checking for counter wrap-around. 2002-09-02 20:04:25 +00:00
scw f9ab2f4618 g/c a bit of DEBUG code which crept into the last commit. 2002-09-02 14:03:22 +00:00
scw c3eb6d5b68 Add a function which dumps the machine state following a nested
critical section fault.

Also, in the regular trap() handler, use &proc0 if curproc is NULL.
2002-09-02 14:02:03 +00:00
scw 693ffb8185 Catch the case where a synchronous exception occurs during the critical
section of another exception. This is likely to happen if the kernel
stack is misaligned, has dropped off the bottom of the PCB, or has
otherwise gone into orbit.

In this case, switch to a safe stack, save as much of the machine
state as possible and dump it to the console.
2002-09-02 14:00:25 +00:00
scw f9fe8e4707 Go to splhigh() before enterring ddb(9). 2002-09-02 13:55:03 +00:00
onoe efcfc3e1c8 Add experimental support of Host-AP mode for awi driver.
It works also with WEP enabled.
But aging the associated clients is not implemented yet, so that the number
of clients may increase unlimitedly..
2002-09-02 13:37:35 +00:00
aymeric 4bbf4d2f6f remove one comment; warp some lines. 2002-09-02 12:54:40 +00:00
leo 449ee49a3d Decrease the vertical frequency. 2002-09-02 12:14:34 +00:00
leo 45501e0df2 Regen. 2002-09-02 12:13:35 +00:00
leo 89532d8b32 Introduce NO_PHYS_NETWORK as a define in the FALCON kernel. This define is
used to turn off the vlan, bridge and pppoe pseudo devices and the NETATALK
protocol.
2002-09-02 12:10:46 +00:00
aymeric 84ccd9ee4b call grfcc_probe() and viewprobe(), even when we are not the console.
This fixes a panic when using a serial console and wsconscfg.
(The monitors list wouldn't be initialized in grfabs.c)
2002-09-02 11:09:48 +00:00
scw 2a7a3cc2f8 In the _EXCEPTION_EXIT macro, don't use r24 until we've finished
accessing the kernel stack, since a TLB miss on the kernel stack
will result in r24 being trashed.
Also clear the ES_CRITICAL flag just before returning to the
previous context.
2002-09-02 08:41:56 +00:00
jdolecek ed2badbd21 make vers.c depend on ${SOURCES} and remove .PHONY tag for it, so that it
would only be regenerated if any of the input files changed
2002-09-02 07:33:11 +00:00
manu 9d459610ba When the serial port was not checked in hpcboot on hpcarm, writing to
/dev/ttyS0 crashed the kernel. This is because sacom_filltx uses some
uninitialized static variables. Pulling the salues from softc instead
fixes the problem (this is what was done before the drver was moved
from /sys/arch/hpcarm to /sys/arch/arm, anyway).
2002-09-02 05:27:39 +00:00
thorpej 556a752996 Build a .gdbinit in the kernel build directory. The new .gdbinit
will source all of the system-provided gdb scrips in sys/gdbscripts,
as well as any files specified by the user in the GDBINIT make var.
2002-09-01 23:04:47 +00:00
scw b02c328efd Track adjacent movi/shori instructions with the same destination register
so we can print the accumulated value.

Print symbols, if possible, when decoding "pta" branch targets, and
"movi"/"shori" accumulated values.
2002-09-01 22:39:56 +00:00
mjacob e2f3e02af9 Do not enable interrupt driven mailbox commands for non-FC scsi. 2002-09-01 22:30:09 +00:00
martin 1caaa903fa If the peer did not answer LCP echo requests in-time, but we got user
data through within the last LCP keepalive interval, do not count this
as a keepalive failure.

Addresses parts of kern/17723.
2002-09-01 18:54:12 +00:00
martin adb5933cbb Apply patch from Todd Vierling in PR kern/17665:
remove a test that has been obsoleted by the authentication failure
counter - enter slow retry mode always, not only if we already transfered
data successfully (the test was designed to disable retries when the
initial authentication setting was not correct, the auth failure counter
does this job better).
2002-09-01 18:06:59 +00:00
martin ac83580ea9 Add an option PPPOE_TERM_UNKNOWN_SESSIONS to forcefully disconnect sessions
we don't know anything about with a PADT packet.

Use with care, this is pretty dangerous and will kill all userland PPPoE
implementations. Therefore it is not enabled by default nor added as
a commented out option to GENERIC kernels.

But it is highly usefull if you have a fixed IP, an ISP that does not use
LCP echo requests for link monitoring and you want to recover quickly after
a crash or otherwise ungracefull disconnect.
2002-09-01 17:21:40 +00:00
itohy f89823c1f8 Save 1-4 instructions on all cases except for the ret=0 case.
This is probably the last version from me. :)
You are welcome to speed it up, of course. :)

Here's a benchmark on SH-4 200MHz.
9.2% faster if all the cases occur evenly.

return value	C version	previous vers	this version	speed ratio
of ffs()	(ns/call) *1	(ns/call)	(ns/call) *2	(*1/*2)
------------	------------	-------------	------------	-----------
 0		  86		 81		 81		1.06
 1		 110		106		 91		1.21
 2		 132		106		 92		1.43
 3		 165		117		 96		1.72
 4		 201		116		 95		2.12
 5		 237		107		 99		2.39
 6		 271		106		101		2.68
 7		 307		116		107		2.87
 8		 342		116		105		3.26
 9		 376		126		111		3.39
10		 410		127		110		3.73
11		 446		136		115		3.88
12		 483		134		116		4.16
13		 518		125		119		4.35
14		 551		126		120		4.59
15		 587		135		127		4.62
16		 624		136		126		4.95
17		 658		139		126		5.22
18		 694		140		126		5.51
19		 727		148		131		5.55
20		 764		150		131		5.83
21		 799		141		135		5.92
22		 834		142		135		6.18
23		 868		152		140		6.20
24		 903		153		142		6.36
25		 939		140		127		7.39
26		 974		141		126		7.73
27		1009		152		131		7.70
28		1044		148		130		8.03
29		1080		141		136		7.94
30		1115		141		136		8.20
31		1151		151		141		8.16
32		1185		151		140		8.46
2002-09-01 13:14:53 +00:00
scw f387921c31 Move registers r10-r13 over to the Caller-saved set, at least as far
as intrframe and trapframe are concerned.

According to the ABI, only the low 32-bits of these registers are
guaranteed to be preserved by the callee. Therefore, we need to
preserve all 64-bits of them in the interrupt trampoline.
2002-09-01 11:40:54 +00:00
takemura 6a286a4f2a BUGFIX: WSDISPLAYIO_SVIDEO and WSDISPLAYIO_GVIDEO don't work. 2002-09-01 11:38:29 +00:00
takemura e00064b3e0 Fixed again. Rev 1.7 was incomplete and this device did't work for long time. 2002-09-01 10:45:38 +00:00
bouyer 3a7aeb79ca nfs_doio(): handle the case where nfs_writerpc() returned error != 0.
Fix kern/18125. OK'd by thorpej and chs.
2002-09-01 10:39:38 +00:00
scw 75c81c5275 Blah, some of the larger operands could overflow the "opstr" buffer.
Bump the size of all of them to be on the safe side.
2002-09-01 10:07:25 +00:00
scw d73a178b6b Output a new-line character after disassembling the opcode. 2002-09-01 09:18:52 +00:00
scw 5938c04bbe Yay, single-step now works.
Also do a wee bit tidying up.
2002-09-01 09:01:33 +00:00
scw 1398cd2898 Verify that the lowest 4 bits of the opcode are zero before disassembling.
According to the docs, opcode 0x6ff4fff0 is gauranteed to generate
a RESINST exception on all implementations, so disassemble it as "illegal".
2002-09-01 09:00:35 +00:00
uwe e724974d54 Add quirks for Neodio ND5010. 2002-08-31 22:51:16 +00:00
scw 4c7d945594 A full SHmedia disassembler for ddb(9).
ToDo:
 - Symbol support (can't test as yet, due to lack of symbols),
 - Take notice of adjacent "movi/shori" instructions in order to display
   the resulting 32/64-bit value, with symbol lookup if possible.
2002-08-31 22:21:39 +00:00
sommerfeld 782a77d899 Initialize proc0.p_raslock to avoid a lock assertion on the first fork(). 2002-08-31 20:02:09 +00:00
gehenna 848d04ae8d G. not F. 2002-08-31 17:08:49 +00:00
drochner 77944bfa08 call cpu_dumpconf() after dumpdev change, so that
the global dumpsize/dumplo get updated
2002-08-31 17:07:59 +00:00
scw 63fee282ed Always panic in the default/dopanic case, even if kdb_trap() returns. 2002-08-31 09:41:05 +00:00
scw 9c10dc5c22 If DEBUG is defined, enable Cayman's NMI button. 2002-08-31 09:30:02 +00:00
scw da6c509ffa Pick a better T_NMI code. The previous one clashed with T_AST|T_USER. 2002-08-31 09:25:53 +00:00
scw c2aa4b74c8 Don't use "Branch Likely" for the NMI case. 2002-08-31 09:25:24 +00:00
scw 9a6575c7df Add T_NMI. 2002-08-31 09:12:59 +00:00
scw d7dbb0862d Deal with NMIs by jumping through the normal trap() code path.
At the very least, this will dump the machine state. At best,
we get into ddb().

This provides a useful way to regain control using an NMI button
if the cpu decides to spin at a high ipl.
2002-08-31 09:11:56 +00:00
scw 17746914f0 Small simplification to the splx() code path when dealing with soft
interrupts, and fix a couple of nits in the generic soft interrupt code.

Soft interrupts now work.
2002-08-31 08:42:00 +00:00
ad e7ab6ca550 Nuke incorrect mailbox length defines and just use 13 everywhere. May help
with PR/14266.
2002-08-31 05:18:03 +00:00