Commit Graph

75320 Commits

Author SHA1 Message Date
uwe
85589e4fcd Improve spelling in debug printfs. 2005-03-26 22:41:12 +00:00
bouyer
13e1355ec4 Remplace __insn_barrier() with x86_lfence() where appropriate.
While here, replace a panic() with a return of error code in xbdback.c.
2005-03-26 21:22:45 +00:00
bouyer
57d0b7f835 Don't assume we're on a uniprocessor system (the hypervisor may be running SMP)
and add "lock;" barrier to avoid instruction reordering in event handlings.
This fix the last issue with event loss I was getting on SMP systems.
2005-03-26 20:00:49 +00:00
christos
f2b82c7f8a make this compile again :-( 2005-03-26 19:40:31 +00:00
christos
aca59c847f Use vlog(9). Open-coding vlog here breaks lkm's because including
<sys/kprintf.h> includes opt_multiprocessor.h. One could argue
that the lock stuff should just move to subr_prf.c since nothing
else uses it.
2005-03-26 19:39:08 +00:00
christos
3136f75efa defopt IPFILTER_DEFAULT_BLOCK 2005-03-26 18:08:42 +00:00
christos
14685cd241 s/uvm_map_defaultaddr/uvm_default_mapaddr/ HI FRANK! 2005-03-26 17:10:43 +00:00
tsutsui
45bd685dbe mips_sdcache_forceinv has been removed.
XXX Should we check MIPS3_CONFIG_SE in mips3_cp0_config_read() and
XXX call r5k_enable_sdcache() accordingly here?
2005-03-26 10:04:29 +00:00
tsutsui
a8d2e55834 Add a workaround to handle virtual alias which may cause data corruption
on R5000/Rm52xx machines:
- Add a new global variable mips_cache_virtual_alias in mips/cache.c,
  which indicates that VIPT cache on the CPU could cause virtual alias
  and software support is required to handle it. (i.e. no VCED/VCEI)
- Add several cache flush/invalidate ops around KSEG0 access which
  might cause virtual alias if mips_cache_virtual_alias is true.
  (note checking mips_sdcache_line_size isn't valid for R5000/Rm52xx
   because only R4000/R4400 with L2 cache have VCED/VCEI)
- Remove a global variable mips_sdcache_forceinv, which is now superseded
  by new mips_cache_virtual_alias.

While here, also change some R4000/R4400 cache ops:
- Don't override mips_cache_alias_mask and mips_cache_prefer_mask with
  values based on MIPS3_MAX_PCACHE_SIZE for R4000/R4400 with L2 cache
  because it's still worth to reduce VCED/VCEI.
- Flush dcache in pmap_zero_page(9) unconditionally on all MIPS_HAS_R4K_MMU
  CPUs and remove cache flush code from cpu_lwp_fork() in vm_machdep.c.

Thanks to Markus W Kilbinger for testing patches on port-cobalt/port-mips.


XXX This fix is just a workaround because it doesn't handle all possible
XXX virtual aliases. As discussed on port-mips, maybe the real fix
XXX for virtual alias is to change MI UVM to adapt it to VIPT cache.
XXX (all VA mappings against the same PA must have the same VAC index etc.)
2005-03-26 09:51:02 +00:00
fvdl
c487efe4a7 Fix some things regarding COMPAT_NETBSD32 and limits/VM addresses.
* For sparc64 and amd64, define *SIZ32 VM constants.
* Add a new function pointer to struct emul, pointing at a function
  that will return the default VM map address. The default function
  is uvm_map_defaultaddr, which just uses the VM_DEFAULT_ADDRESS
  macro. This gives emulations control over the default map address,
  and allows things to be mapped at the right address (in 32bit range)
  for COMPAT_NETBSD32.
* Add code to adjust the data and stack limits when a COMPAT_NETBSD32
  or COMPAT_SVR4_32 binary is executed.
* Don't use USRSTACK in kern_resource.c, use p_vmspace->vm_minsaddr
  instead (emulations might have set it differently)
* Since this changes struct emul, bump kernel version to 3.99.2

Tested on amd64, compile-tested on sparc64.
2005-03-26 05:12:34 +00:00
christos
24ae046714 move an assignment up. 2005-03-26 04:37:04 +00:00
cube
78f44cbe4f Add attimer(4) configurations everywhere pcppi(4) exists, with the
following rule:
  If a pcppi device is enabled for an attachment, enable an attimer for the
  same attachement, otherwise comment it.
2005-03-25 23:28:43 +00:00
cube
d2d1a8c05c Make pcppi(4) use attimer(4) to set the pitch of the bell.
In case you don't configure an attimer(4) device in your kernel config,
you will simply lose the ability to set the pitch.  It will still beep.
2005-03-25 23:09:00 +00:00
cube
ff524d301a Add attimer(4) to the list. 2005-03-25 23:07:17 +00:00
cube
040e3b19e5 Add attimer(4) driver, with ISA and ACPI attachments.
attimer(4) is the new body of the part of pcppi(4) that mapped the TIMER1
register to set the pitch of the bell.  It was necessary to separate them
in order to have a working ACPI attachment (as the two appear as different
devices in the ACPI structures).
2005-03-25 23:06:19 +00:00
christos
b279845eed Don't free the wrong lock. Pointed out by Konrad Schroder 2005-03-25 22:48:23 +00:00
tsutsui
120ecb16f8 Switch cobalt port to use MI pci_configure_bus(9)
with options PCI_NETBSD_CONFIGURE.
Patch from KIYOHARA Takashi on port-cobalt.

This change makes siop(4) (and maybe all other PCI devices
using pci mem space) work on cobalt.
2005-03-25 15:01:57 +00:00
tsutsui
69528d1dad Allow MD PCI code to specify or disable PCI_COMMAND_PARITY_ENABLE
and PCI_CMMAND_SERR_ENABLE in MI pci_configure_bus(9).
Patch from PR kern/27423 by KIYOHARA Takashi with some changes by me,
approved by Allen Briggs.
2005-03-25 14:51:39 +00:00
yamt
2e2956423c don't bother to allocate gdt slots for tss
as we don't actually use them.
2005-03-25 10:27:03 +00:00
perseant
bb7bbb2d16 Don't sleep while holding the vnode interlock. Should take care of the
first panic case in PR #26043.
2005-03-25 01:45:05 +00:00
jmcneill
adf922e656 Update my email address (the one listed hasn't been active in years). 2005-03-24 22:31:58 +00:00
cube
bc5ea6f651 Set bit 0x2 of the first byte of the generated MAC address, to indicate it
is a locally administered address.  Pointed out by Ignatios Souvatzis.
2005-03-24 22:20:35 +00:00
bouyer
303cafe4e5 getblk() can return NULL if we are the pagedaemon. Check for this. 2005-03-24 20:13:17 +00:00
tron
0dd3209322 Regen. 2005-03-24 13:17:24 +00:00
tron
9ffaf42ec1 Add ids for ATI Radeon 9700 Pro and 9800 Pro. 2005-03-24 13:17:08 +00:00
chs
f31a80ccd3 avoid the need for recursive locking lfs_flush_dirops() by unlocking
the vnode around the call to this in the caller.
2005-03-24 04:00:33 +00:00
bouyer
091d59fa24 Don't assume all LUNs are probed before scsipi sets the mode, and always check
if lun_tagtbl needs to be allocated. Patch from john heasley in kern/29603.
2005-03-23 21:23:15 +00:00
christos
5586266e3c PR/29600: YAMAMOTO Takashi: cbb hangs on boot. From the PR:
It seems that we never get a power interrupt for 16 bit cards. The tsleep
has been changed to wait for 200ms maximum, before giving up instead of
waiting forever. XXX: Maybe that is too small for some laptops?
2005-03-23 20:53:19 +00:00
yamt
e012617b1e - restructure tx descriptor handling code to decouple
number of tx descriptors, number of rx descriptors, and number of mbufs.
- bump number of tx descriptors for rtl8169.  64 doesn't seem to be sufficient
  when doing TSO.
2005-03-23 20:23:08 +00:00
wiz
8b14b81426 rgephy(4)'s struct mii_phydesc array doesn't end with NULL.
Fix it. From Satoshi Suetake in PR 29770.
2005-03-23 13:27:20 +00:00
wiz
ec30909ad0 Remove duplicate word in comment. From Rui Paulo in PR 29767. 2005-03-23 13:24:47 +00:00
martin
71cce6ecd0 Add support for Proxim RangeLAN-DS 8430;
from Gabriel Forté, via Julien Rampon on tech-net
2005-03-23 12:00:22 +00:00
martin
8e03193d1b Regen (Proxim RangeLAN-DS 8430 added) 2005-03-23 11:59:38 +00:00
martin
a16552ce02 From Gabriel Forté, via Julien Rampon in mail to tech-net:
add Proxim RangeLAN-DS 8430
2005-03-23 11:58:56 +00:00
christos
ae9d3eacae Avoid a possible race during the time we give up our lock in order to
allocate memory. (From yamt)
2005-03-23 04:01:04 +00:00
christos
e0ba8227a7 Don't call malloc with a simple_lock held. Thanks to Greg Oster for pointing
my stupid mistake.
2005-03-23 01:16:44 +00:00
perseant
c716c3d307 Make LFS dirops get their vnode first, before incrementing the dirop count,
to prevent a deadlock trying to call VOP_PUTPAGES() on a VDIROP vnode.
This can happen when a stacked filesystem is mounted on top of an LFS: an
LFS dirop needs to get a vnode, which is available from the upper layer.
The corresponding lower layer vnode, however, is VDIROP, so the upper layer
can't be cleaned out since its VOP_PUTPAGES() is passed through to the lower
layer, which waits for dirops to drain before it can proceed.  Deadlock.

Tweak ufs_makeinode() and ufs_mkdir() to pass the a_vpp argument through
to VOP_VALLOC().

Partially addresses PR # 26043, though it probably does not completely fix
the problem described there.
2005-03-23 00:12:51 +00:00
xtraeme
3141856faf This needs <machine/bus.h> now. 2005-03-21 18:27:32 +00:00
cube
98201da433 pcppi at acpi needs some more work. Leave it commented out for now. 2005-03-21 18:10:15 +00:00
xtraeme
d1c67e4716 This needs <machine/bus.h>, needed for ACPI pcppi(4) attachment. 2005-03-21 17:16:10 +00:00
xtraeme
f9dbeebf6f Add "pcppi* at acpi?" commented out. 2005-03-21 14:15:27 +00:00
xtraeme
57218e5576 Add pcppi(4) ACPI attachment, which matches the "AT-style speaker
sound" ACPI device.

Reviewed by christos@.
2005-03-21 14:06:46 +00:00
xtraeme
65f27995a2 Move the struct pcppi_softc into pcppivar.h, add in this file
pcppi_attach(), which now accepts "struct pcppi_softc";
Split ISA specific bits from pcppi_attach() into pcppi_isa_attach()
(needed by the upcoming pcppi(4) ACPI attachment).

Reviewed by christos@.
2005-03-21 14:05:18 +00:00
xtraeme
a2dce2fece Use ANSI function declarations. 2005-03-21 10:51:52 +00:00
cgd
382487d844 correctly alphabetize bce, skc/sk, inphy relative to their neighbors.
devices.  correct typo in bce comment.
2005-03-21 01:57:54 +00:00
kleink
ef43d43dac Add PLATFORM_IBM_6015 to INSTALL, as present in GENERIC. 2005-03-20 20:19:07 +00:00
christos
cb282cd325 Keep track and limit the number of locks per uid. From OpenBSD 2005-03-20 19:16:33 +00:00
christos
f7c5085de0 It does not make sense to free the uidinfo struct since it is used now
for multiple things (proccnt,lockcnt,sbsize) and it adds too much code
complexity. Instead add a uid_find() routine that returns the existing
struct or allocates a new one.

Re-enable the sbsize limit code.
2005-03-20 19:15:48 +00:00
christos
08147aab3c Keep track of who the lock belongs to (from OpenBSD) 2005-03-20 19:13:57 +00:00
christos
f0bc73142d Add a member lockcnt to keep track of locks per uid. Add a uid_find() function
similar to the one in OpenBSD.
2005-03-20 19:13:23 +00:00