Commit Graph

99922 Commits

Author SHA1 Message Date
dyoung
211e21b653 Stop dereferencing a dangling device_t pointer and crashing: skip the
drives flagged DRIVE_ATAPI in atabus_activate(,DVACT_DEACTIVATE) just as
we skip them in atabus_detach() and in atabus_childdetched().

Make atabus_detach() parallel attachment more closely by calling
config_detach() on the child chp->ata_drives[i] instead of on
chp->ch_drive[i].drv_softc.  Assert that ata_drives[i] and
ch_drive[i].drv_softc are equal, and set them both to NULL in
atabus_childdetached().
2009-04-03 21:31:08 +00:00
ad
117500b9b2 workqueue_finiqueue: our stack could be swapped out while enqueued to
a worker thread.
2009-04-03 19:34:19 +00:00
sborrill
5547ed1734 Switch various printfs from %ld and %d to PRIu64, etc. to be more consistent
about types (for instance uint32_t was being printed with %d).
2009-04-03 16:23:41 +00:00
uebayasi
58141c8949 Include sys/device.h. Fix build. 2009-04-03 15:41:14 +00:00
uebayasi
8e4e2fe06d Include sys/evcnt.h for struct evcnt, not sys/device.h. 2009-04-03 14:47:48 +00:00
pooka
bb78ae5d1b Fix yet another recent crashy bug in tmpfs rename: since the source
dirent is no longer cached in lookup and we do the lookup ourselves
in rename, we are most definitely not allowed to assert that it
matches the source vnode passed as an argument.  In case the source
node does not exist or has been replaced, punt with ENOENT.

Also, nuke some misleading prehistoric comments which haven't been
valid in over a year.

Fixes PR kern/41128 by Nicolas Joly
2009-04-03 14:47:40 +00:00
tsutsui
ac465a42e7 Remove obsolete LIBSA_USE_MEMCPY and LIBSA_USE_MEMSET.
They were removed from <lib/libsa/stand.h> on December 2007.
2009-04-03 10:38:12 +00:00
uwe
30f9f983a3 Use dev/apm/files.apm for APM options in opt_apm.h.
Now both apm and apmdev files.apm can be included so you can switch
from apmdev0 to apm0 at hpcapm0 in your kernel config easily.
2009-04-03 05:01:09 +00:00
uwe
82442fe367 Treat OAPM_IOC_GETPOWER as APM_IOC_GETPOWER - from apmdev(4). 2009-04-03 04:25:40 +00:00
uwe
c03d662b39 Config glue for attaching apm at apmdevif.
Unfortunately dev/apm/files.apm and dev/hpc/apm/files.apm cannot be
included both at the same time (they define same options and config(1)
complains), so you need to comment out old code and uncomment new code
to be able to replace "apmdev0 at hpcapm0" with "apm0 at hpcapm0" in
your kernel config.
2009-04-03 04:21:51 +00:00
uwe
ea06597b80 Attachment glue to attach apm0 at hpcapm0.
Tested on Jornada 690.
2009-04-03 04:17:03 +00:00
uwe
9a25b0cb7f Switch apmdev to use apm(4) structures from dev/apm/apmvar.h.
Add batteryid argument to aa_get_powstat method implementations.
2009-04-03 04:13:17 +00:00
uwe
7cbde2c0d5 Further reduce diffs to dev/apm/apm.c.
Bring over remaining bits of logic not picked up in the first round.
Main semantic difference between the two that ramins is now basically
powerhooks vs. pmf.

Cosmetics to reduce diff noise: split apmattach into apmdevattach and
apm_attach, where the latter matches its counterpart in the real
apm.c.  Change local macros names from APMDEV* to APM*

Now that apmdev.c is demonstrably congruent to apm.c it should be
easier to switch hpc* and zaurus ports to apm.c from apmdev.c.
apmdev.c is one of the only two remaining drivers that call
dopowerhooks(9), the other one being arch/arm/xscale/pxa2x0_apm.c.

Ideally I would prefer for them to be interchangeable to smooth the
transition (in pmf world order *all* devices must have pmf hooks
registered), but they are attached differently - apmdev is separate
from its backend device (like hpcapm), while apm.c backends are
attachment glue, not separate devices.
2009-04-03 02:08:38 +00:00
dyoung
8f20e30696 Fix SIOCSIFFLAGS. Mark as safe to detach at shutdown. 2009-04-03 00:14:42 +00:00
dyoung
e5320b0a17 Take out a noisy debug statement that slipped in with device-detachment
at shutdown.
2009-04-02 22:19:48 +00:00
christos
af069eb3c7 Centralize the ROUNDUP and ADVANCE macro in a header file, give them an
RT_ prefix and use them appropriately, instead of making copies. Make
pppd use the RT_ROUNDUP macro; fixes proxyarp setting on 64 bit hosts.

XXX: All this should be pulled up to 5.0
2009-04-02 21:02:06 +00:00
ad
bbb900dedf banner: fix a minor bug. 2009-04-02 19:43:11 +00:00
drochner
eb4f9278bc In humanize_number(), avoid an integer overflow if the buffer
provided is "too large" (log10(2^64) = 19).
(It can still overflow if the input value is close to 2^64 but I don't
consider this a problem.)
fixes nonsense displayed as "total memory" on boot
2009-04-02 17:25:24 +00:00
tsutsui
f2ca316138 Don't use relative path from <machine> in #include.
It won't work for symlinks.
2009-04-02 13:00:40 +00:00
pooka
095a7dd3b6 Release tdvp in an appropriate VOP_RENAME error branch to avoid
panic described in PR kern/40948.

As usual, all the error branches in rename live based on an unholy
amalgamation of prayer and the blood of cute, furry and tasty
quadrupeds, so I won't even attempt to audit the rest.

And this wapbl rename really really needs to be merged with the
standard rename.  That should be a fun PhD thesis topic ....
2009-04-02 11:33:04 +00:00
dyoung
30156f20e6 Cosmetic changes, only, to clarify and to save a couple of lines: return
a constant, 0, instead of returning ret when it is always 0.  Wait to
initialize ret until we really need to.
2009-04-02 01:06:49 +00:00
dyoung
b783d8bd8c Add the WEP capability to our net80211 capability flags, since we do
sort of support hardware WEP.  Only change the WEP key index in a Tx
descriptor from 0 if the type of our transmit key is _WEP, not _TKIP:
i.e., only if we're really doing WEP crypto in the hardware.

Ignore a watchdog timeout on any Tx ring if we can collect some packets
from that ring.  Restart both the receiver and the transmitter when a
watchdog timeout occurs instead of restarting only the transmitter.
2009-04-02 00:57:20 +00:00
dyoung
726f95dae4 I find myself making a lot of changes in this code to keep it compiling
and (let us hope) working in the 21st century, so I have put it through
unifdef -D__NetBSD__ -U__FreeBSD__ so that it is less of a chore to read
and to maintain.
2009-04-02 00:39:37 +00:00
enami
09fcc8b316 So that profile kernel runs again,
- Adjust the size of functions used to patch.
- Fix the jump offset of mcount call when patching functions.

Approved by Andrew Doran.
2009-04-02 00:19:02 +00:00
dyoung
0d1ba3e899 During shutdown, detach devices in an orderly fashion.
Call the detach routine for every device in the device tree, starting
with the leaves and moving toward the root, expecting that each
(pseudo-)device driver will use the opportunity to gracefully commit
outstandings transactions to the underlying (pseudo-)device and to
relinquish control of the hardware to the system BIOS.

Detaching devices is not suitable for every shutdown: in an emergency,
or if the system state is inconsistent, we should resort to a fast,
simple shutdown that uses only the pmf(9) shutdown hooks and the
(deprecated) shutdownhooks.  For now, if the flag RB_NOSYNC is set in
boothowto, opt for the fast, simple shutdown.

Add a device flag, DVF_DETACH_SHUTDOWN, that indicates by its presence
that it is safe to detach a device during shutdown.  Introduce macros
CFATTACH_DECL3() and CFATTACH_DECL3_NEW() for creating autoconf
attachments with default device flags.  Add DVF_DETACH_SHUTDOWN
to configuration attachments for atabus(4), atw(4) at cardbus(4),
cardbus(4), cardslot(4), com(4) at isa(4), elanpar(4), elanpex(4),
elansc(4), gpio(4), npx(4) at isa(4), nsphyter(4), pci(4), pcib(4),
pcmcia(4), ppb(4), sip(4), wd(4), and wdc(4) at isa(4).

Add a device-detachment "reason" flag, DETACH_SHUTDOWN, that tells the
autoconf code and a device driver that the reason for detachment is
system shutdown.

Add a sysctl, kern.detachall, that tells the system to try to detach
every device at shutdown, regardless of any device's DVF_DETACH_SHUTDOWN
flag.  The default for kern.detachall is 0.  SET IT TO 1, PLEASE, TO
HELP TEST AND DEBUG DEVICE DETACHMENT AT SHUTDOWN.

This is a work in progress.  In future work, I aim to treat
pseudo-devices more thoroughly, and to gracefully tear down a stack of
(pseudo-)disk drivers and filesystems, including cgd(4), vnd(4), and
raid(4) instances at shutdown.

Also commit some changes that are not easily untangled from the rest:

(1) begin to simplify device_t locking: rename struct pmf_private to
device_lock, and incorporate device_lock into struct device.

(2) #include <sys/device.h> in sys/pmf.h in order to get some
definitions that it needs.  Stop unnecessarily #including <sys/device.h>
in sys/arch/x86/include/pic.h to keep the amd64, xen, and i386 releases
building.
2009-04-02 00:09:32 +00:00
darran
49d3640ae0 Also inherit the parent's TCP segmentation offload capability.
Note the vlan interface does not see updates to the parents capabilities
so if, for example, TSO is on in both, then turned off in the parent it
will remain on in the vlan interface.
2009-04-01 22:56:59 +00:00
drochner
23d4af832f sort out what is needed for crash(8) and what not, should fix
recent build errors
2009-04-01 21:15:45 +00:00
christos
802d07dbca cast segsz to int. 2009-04-01 21:15:23 +00:00
perry
0e8e3df5ff More reproducible build fixes:
1) invoke objcopy with --preserve-dates or it will update all the
   dates in the .a file to the present date.
2) add an invocation of ar-as-ranlib or the object file index ends up
   with the date in it. (it might also end up with an incorrect
   index.)
2009-04-01 17:51:12 +00:00
pooka
c675da1b5a Be less verbose. (something like rump_dmesg with optional QUIET
would be nice, but needs work)
2009-04-01 14:37:00 +00:00
reinoud
42726265fe Implement MMC_TRACKINFO_DATA and MMC_TRACKINFO_AUDIO detection for cdrom and
dvdrom devices. These two compatibility codes were forgotten when those were
introduced.
2009-04-01 12:19:04 +00:00
lukem
e8c7343395 fix sign-compare issue 2009-04-01 10:17:04 +00:00
tls
d15f48cfe5 Fix probe for VIA C3 and successors -- these are CPU family 6, not 5.
The broken probe was causing the VIA padlock driver to never attach!
Now we can see that its AES appears to be broken -- it makes FAST_IPSEC
ESP not work, on systems where it works fine with cryptosoft.

Rework code to detect and (if necessary) enable VIA crypto and RNG.
Add RNG support to VIA padlock driver.  In the process, have a quick
go at debugging the AES support but no luck thus far.
2009-04-01 03:56:54 +00:00
dogcow
36ffab86d9 fix what looks like a mechanical stuffup in the timeval -> timespec conversion. 2009-04-01 03:06:06 +00:00
rmind
f8a1f87074 Sync with recent i386/amd64 source merges - fix Xen builds. 2009-03-31 20:12:19 +00:00
dyoung
d0947ed2de Also look for sources in sys/arch/x86/x86/ if MACHINE_ARCH is i386 or
x86_64.
2009-03-31 18:41:40 +00:00
drochner
0785c6f16e avoid tsleep also during shutdown (and in particular ACPI poweroff),
should fix PR kern/39141 by Takahiro Kambe and PR port-i386/41110
by Reinoud Zandijk
2009-03-31 17:17:47 +00:00
reinoud
49f0ea0bd0 KGDB does no longer refers to ddb/db_access. Fixes compilation problems of KGDB
kernels.
2009-03-31 15:50:45 +00:00
tsutsui
e90ec2adcc Remove extra whitespace added by a dumb tool. 2009-03-31 11:48:15 +00:00
tsutsui
d008724eb5 Switch atari standalone bootloaders to using MI libsa and libkern.
Tested by David Ross on port-atari@. Thanks!
2009-03-31 11:42:07 +00:00
darran
d4dd9a671a Missed a small but important change to enable hardware VLAN support. 2009-03-31 06:58:55 +00:00
cegger
456f7ba595 buildfix: NEW_VMCMD(2 -> NEW_VMCMD2( 2009-03-31 06:03:31 +00:00
darran
0b4bf6c76b Enable the vlan code that thorpej@NetBSD.org added, and fix a bug where
the vlan tag was read from the rx descriptor after it was reinitialized
(and hence was always 0).  Hardware vlan support looks good tested
between two vmware clients.
With support from tls@NetBSD.org.
2009-03-31 04:16:57 +00:00
rmind
44170e3c3a Merge i386 and amd64 ipifuncs.c into x86. No functional changes intended.
XXX: fpu #ifdefs are ugly (should be revisited at some point).
2009-03-30 22:28:39 +00:00
christos
b5c4aec40f fix erroneously deleted assignment. 2009-03-30 22:22:44 +00:00
rmind
70456c4d9e Merge i386 and amd64 vm_machdep.c into x86. No functional changes intended.
Note: some #ifdefs will be removed with macros.
2009-03-30 22:20:55 +00:00
rmind
74a033c8eb Merge/move core_machdep.c into x86, no difference between i386 and amd64. 2009-03-30 22:13:42 +00:00
dyoung
1f874fb168 Cosmetic: reduce differences from amd64/amd64/vm_machdep.c by deleting
an empty line.
2009-03-30 17:48:22 +00:00
yamt
197e2d1b30 ARRAY_PRINT: 0 is a valid index. 2009-03-30 16:38:05 +00:00
yamt
cccbca027b g/c uvm_aiobuf_pool. 2009-03-30 16:36:36 +00:00
perry
92ec9dc66a Add a MKREPRO variable (defaults to "no") that invokes newvers.sh with
the -r flag if it is set to "yes", resulting in a reproducible kernel build.
2009-03-30 16:34:19 +00:00
perry
b30c3a7aac Add a -r option that produces a version string without the time or kernel
build number in it. This will be used for reproducible builds.
2009-03-30 16:29:55 +00:00
christos
a329e3090a we want microuptime too. 2009-03-30 12:47:49 +00:00
tsutsui
e1a7799d79 #include <sys/types.h>, not <stdbool.h> for userland
in defined(_STANDALONE) case too.
2009-03-30 09:51:37 +00:00
tsutsui
31f477f9fd Remove extra trailing slash in ${S} path. 2009-03-30 09:22:52 +00:00
uwe
1cfa6cdc4e Split device_t and softc, use aprint_*, rename/reformat stuff to
minimize diffs to dev/apm/apm.c (even at the cost of uglification).

Tested on Jornada 690 (hpcsh).
2009-03-30 06:22:25 +00:00
uwe
e4d63225a1 Fix battery_state vs. battery_flags confusion.
Fill all fields of struct apm_power_info in hpcapm_get_powstat.
2009-03-30 06:17:39 +00:00
christos
e556421085 need getnanouptime not getmicrouptime 2009-03-30 02:01:09 +00:00
mrg
64b0361105 apply from sys/dev:
revision 1.17
date: 2009/03/29 19:50:17;  author: mrg;  state: Exp;  lines: +7 -7
drm_addmap():
- for _DRM_CONSISTENT mappings, keep the handle.
- use DRM_HANDLE_NEEDS_MASK()

drm_mapbufs():
- use DRM_HANDLE_NEEDS_MASK()

drm_mmap():
- use DRM_HANDLE_NEEDS_MASK()
- for _DRM_SCATTER_GATHER and _DRM_SHM, use vtophys() on the
  adjusted offset. XXX

this is gets radeon working on amd64 with an older PCI 9250 card.

XXX: need to excise vtophys() usage.
XXX: need to finish porting these fixes to external.


yay!  this takes care of one of the XXX's.  still not quite working.
2009-03-30 01:51:40 +00:00
mrg
f70233658c XXX: drm_close_pid() went away, and the hack i tried to avoid it
XXX: ended up looping forever.  replace it with a hack that doesn't
XXX: hang the system.
2009-03-30 01:48:31 +00:00
mrg
d28a4dfebd - set dev->device to the device_t
- fix a DEBUG message
- apply from sys/dev:
revision 1.20
date: 2009/01/18 10:04:35;  author: mrg;  state: Exp;  lines: +6 -2
Don't attempt to unload a DRM device that's in use.  (Note:
Unloading doesn't work right in any case -- it doesn't clean up the
sysctl tree, among other things.  This code needs Work, but at least
this prevents it crashing randomly due to autounload while X is
running.)  Also, fix the dependency list for radeondrm.

contributed anonymously.
2009-03-30 01:47:36 +00:00
mrg
881136fdf4 apply from sys/dev:
revision 1.11
date: 2009/03/29 19:50:17;  author: mrg;  state: Exp;  lines: +9 -6
drm_addmap():
- for _DRM_CONSISTENT mappings, keep the handle.
- use DRM_HANDLE_NEEDS_MASK()

drm_mapbufs():
- use DRM_HANDLE_NEEDS_MASK()

drm_mmap():
- use DRM_HANDLE_NEEDS_MASK()
- for _DRM_SCATTER_GATHER and _DRM_SHM, use vtophys() on the
  adjusted offset. XXX

this is gets radeon working on amd64 with an older PCI 9250 card.

XXX: need to excise vtophys() usage.
XXX: need to finish porting these fixes to external.



however, this doesn't get radeon working on amd64 here :(
2009-03-30 01:45:41 +00:00
mrg
65df1447f7 - apply from sys/dev:
revision 1.14
date: 2009/03/29 19:39:10;  author: mrg;  state: Exp;  lines: +4 -3
include the size in a falled allocation message.

- use BUS_DMA_ALLOCNOW in bus_dmamap_create() call

- remove a redundant check for NULL
2009-03-30 01:44:41 +00:00
mrg
db9cd6b98c - apply from sys/dev:
revision 1.33
date: 2009/03/29 17:00:50;  author: mrg;  state: Exp;  lines: +12 -4
add a comment explaining DRM_NETBSD_ADDR2HANDLE/DRM_NETBSD_HANDLE2ADDR:

 * This hack strips the top bit from amd64 addresses, which avoid
 * udv_attach() returning NULL for "negative" offset.
 * A better hack would be to encode the offset of some kernel data
 * structure..

add a new DRM_HANDLE_NEEDS_MASK macro to check whether the above need to
be applied for various mapping types (_DRM_SHM and _DRM_SCATTER_GATHER.)


also:
- use IPL_VM for now
- use a lot of bus_space
- struct drm_device now has a pointer to the device_t
2009-03-30 01:42:20 +00:00
mrg
4d27c3c2b1 apply from sys/dev:
revision 1.12
date: 2009/03/29 19:37:25;  author: mrg;  state: Exp;  lines: +9 -3
XXX:  for now, add the DRM_NETBSD_HANDLE2ADDR() hack in a few places.
update a debug message.
2009-03-30 01:38:21 +00:00
christos
e475692a7c one more timeval -> timespec line 2009-03-30 00:31:59 +00:00
mrg
3d4337fb88 fix a device_t-ification. 2009-03-29 23:46:34 +00:00
christos
9d8b358050 Catch up with kernel changes 2009-03-29 20:59:17 +00:00
mrg
ac009d4632 drm_addmap():
- for _DRM_CONSISTENT mappings, keep the handle.
- use DRM_HANDLE_NEEDS_MASK()

drm_mapbufs():
- use DRM_HANDLE_NEEDS_MASK()

drm_mmap():
- use DRM_HANDLE_NEEDS_MASK()
- for _DRM_SCATTER_GATHER and _DRM_SHM, use vtophys() on the
  adjusted offset. XXX


this is gets radeon working on amd64 with an older PCI 9250 card.

XXX: need to excise vtophys() usage.
XXX: need to finish porting these fixes to external.
2009-03-29 19:50:17 +00:00
mrg
7216702ebd add a radeon-x1550 (works as well as other rv5xx i guess.) 2009-03-29 19:39:50 +00:00
mrg
44475ef083 include the size in a falled allocation message. 2009-03-29 19:39:10 +00:00
mrg
4d1ad63f2e XXX: for now, add the DRM_NETBSD_HANDLE2ADDR() hack in a few places.
update a debug message.
2009-03-29 19:37:25 +00:00
christos
2b1b4bc6ef Move the internal poll/select related API's to use timespec instead
of timeval (rides the uvm bump).
2009-03-29 19:21:19 +00:00
pooka
7e97c7f98e include subr_evcnt 2009-03-29 18:22:08 +00:00
pooka
ad23953a5a protect allevents list with a mutex 2009-03-29 18:21:06 +00:00
christos
6e1db6cea1 - use itimespecfix to detect invalid timespecs
- use tstohz instead of mstohz to prevent overflow.
2009-03-29 17:54:12 +00:00
mrg
dba4444474 delete COMPAT_43 that is now in GENERIC 2009-03-29 17:06:01 +00:00
mrg
b9bbc2157f add a comment explaining DRM_NETBSD_ADDR2HANDLE/DRM_NETBSD_HANDLE2ADDR:
* This hack strips the top bit from amd64 addresses, which avoid
 * udv_attach() returning NULL for "negative" offset.
 * A better hack would be to encode the offset of some kernel data
 * structure..

add a new DRM_HANDLE_NEEDS_MASK macro to check whether the above need to
be applied for various mapping types (_DRM_SHM and _DRM_SCATTER_GATHER.)
2009-03-29 17:00:50 +00:00
christos
94f59b4d43 PR/41094: Matteo Beccati: sigtimedwait returns EAGAIN instead of EINVAL if
timeout is invalid
2009-03-29 16:23:23 +00:00
msaitoh
60500a38d2 Add workaround for 82543GC.
We need to force speed and duplex on the MAC equal to what the PHY
speed and duplex configuration is. Fixes PR#36430.
2009-03-29 16:22:17 +00:00
ad
21caef1598 Unfuck compat some more 2009-03-29 15:45:08 +00:00
ad
5d4e966fd0 Remove debug code from previous. 2009-03-29 15:23:54 +00:00
pooka
c56f6fd76f remove entries which are done 2009-03-29 14:56:00 +00:00
ad
09f256f463 Make i386 use banner(). amd64 not converted yet as it seems to trip into
a bug in format_bytes().
2009-03-29 10:58:54 +00:00
ad
f07d0eaa2d Add a cental banner() function to print the copyright and version info. 2009-03-29 10:58:28 +00:00
ad
f51a17bccf kernel memory guard for DEBUG kernels, proposed on tech-kern.
See kmem_alloc(9) for details.
2009-03-29 10:51:53 +00:00
ad
393ca6e076 fsync:
- atime updates were not being synced.

ffs_sync:

- In some cases the sync vnode was acting like now dead /usr/sbin/update.
  It was examining vnodes that it should have ignored.

- It would find dirty inodes and try to flush them. Often ffs_fsync()
  cheerfully ignored the flush request due to the fsync bug. Such inodes
  remained dirty and were repeatedly re-examined by the syncer until
  vnode reclaim or system shutdown.

- We were marking our place in the per-mount vnode list even though in
  most cases there was not flush to perform. While not a bug, this wasted
  CPU cycles because a TAILQ_NEXT would have sufficed.
2009-03-29 10:29:00 +00:00
tsutsui
ab3ad94358 Remove kernfs and use dmesg(8) on alpha INSTALL kernel. 2009-03-29 10:12:31 +00:00
ad
ead83a47c8 _lwp_setprivate: provide the value to MD code if a hook is present.
This will be used to support TLS. The MD method must match the ELF TLS spec
for that CPU architecture (if there is a spec).

At this time it is only implemented for i386, where it means setting the
per-thread base address for %gs. Please implement this for your platform!
2009-03-29 09:24:52 +00:00
pooka
2e346580a4 regen 2009-03-29 07:56:56 +00:00
pooka
2941a7af6e Include some headers to make rump_syscalls.h self-contained.
(not strictly correct wrt portability, but there are bigger fish
to saltgrill in that area)
2009-03-29 07:56:19 +00:00
tsutsui
2273829d51 Don't assume all RX packets have VLAN headers even if vlanif is configured.
Instead, always check ether_type and use appropriate offsets to adjust
the hardware RX sum value.

XXX: vlan(4) doesn't seem to use csum_data and csum_flags in mbufs anyway.
2009-03-29 07:33:52 +00:00
tsutsui
768601d6e6 Get width, height, and linebytes values from prom_getpropint(). 2009-03-29 07:24:56 +00:00
tsutsui
e6bb0dedbf Use <bsd.klinks.mk> to create machine and ${MACHINE_ARCH} symlinks. 2009-03-29 07:19:40 +00:00
dholland
3781289e95 Merge patch from PR 12605, which tidies up allocation of transmit DMA maps.
Generalize it to also tidy up allocation of receive DMA maps. And change a
few of the symbol names involved to (1) make sure all uses have been fixed
and (2) make it clearer what's actually going on.

Previously the driver was using DMA maps off the free list without fully
allocating them, apparently in order to save two or three lines releasing
them on error paths. According to the submitter of the PR (H.Saito) this
was causing it to reuse a map already in use when under load, resulting
in panics.

I'm not sure if that ought to have been possible or if it reflected an
interrupt handling bug somewhere else, but the change is an improvement
regardless, so we'll go with it.

Compile-tested only, but I've crosschecked the diffs and all that and it's
a pretty noninvasive change.

(Is anyone actually using this driver rather than tlp?)
2009-03-29 05:26:43 +00:00
rmind
be5c9950c6 kpsignal2: do not start process (when it is stopped) for all termination
signals (i.e. SA_KILL), just if SIGKILL (or SIGCONT).  Improve comments.

Make some functions static, remove unused sigrealloc() prototype.

Fixes PR/39814.  Similar patch reviewed by <ad>.
2009-03-29 05:02:46 +00:00
rmind
6b0e9f0301 fownsignal: pre-check for zero pgid, avoids locking of proc_lock. 2009-03-29 04:40:01 +00:00
mrg
49be05cbf6 5.99.9: struct vmspace grew a new member. 2009-03-29 01:12:22 +00:00
rmind
a3e23c67f6 Reduce some differences between i386 and amd64.
Mainly cosmetical changes - no functional changes intended.
2009-03-29 01:10:28 +00:00
mrg
fcc023545e - add new RLIMIT_AS (aka RLIMIT_VMEM) resource that limits the total
address space available to processes.  this limit exists in most other
modern unix variants, and like most of them, our defaults are unlimited.
remove the old mmap / rlimit.datasize hack.

- adds the VMCMD_STACK flag to all the stack-creation vmcmd callers.
it is currently unused, but was added a few years ago.

- add a pair of new process size values to kinfo_proc2{}. one is the
total size of the process memory map, and the other is the total size
adjusted for unused stack space (since most processes have a lot of
this...)

- patch sh, and csh to notice RLIMIT_AS.  (in some cases, the alias
RLIMIT_VMEM was already present and used if availble.)

- patch ps, top and systat to notice the new k_vm_vsize member of
kinfo_proc2{}.

- update irix, svr4, svr4_32, linux and osf1 emulations to support
this information.  (freebsd could be done, but that it's best left
as part of the full-update of compat/freebsd.)


this addresses PR 7897.  it also gives correct memory usage values,
which have never been entirely correct (since mmap), and have been
very incorrect since jemalloc() was enabled.

tested on i386 and sparc64, build tested on several other platforms.

thanks to many folks for feedback and testing but most espcially
chuq and yamt for critical suggestions that lead to this patch not
having a special ugliness i wasn't happy with anyway :-)
2009-03-29 01:02:48 +00:00
rmind
ee70d529c3 Change amd64 fault handler to check instruction pointer for copyin/out et al
functions, like in i386.  Avoids setting pcb_onfault, saves few instructions.
2009-03-28 22:56:19 +00:00
rmind
614719fdd8 Add few comments. 2009-03-28 22:46:52 +00:00
tsutsui
0ab04c94e6 Fix another botch in hwcsum changes for PR kern/40955:
8168/8111/8168B/8111B doesn't have DESCV2.

Problem reported by Arto Huusko on current-users@.
2009-03-28 22:16:08 +00:00
rmind
1ce95d231e x86_64_ipi_halt: unset CPU as running (sync with i386). 2009-03-28 22:03:27 +00:00
rmind
9a2646038e Convert some panic() checks to KASSERT()s.
This code is stable and there is no reason to enforce checks.
2009-03-28 21:45:55 +00:00
rmind
f70325ee02 - kpreempt_disabled: constify l.
- Few predictions.
- KNF.
2009-03-28 21:43:16 +00:00
rmind
4aca8329b0 sys_fcntl: use FD_CLOEXEC, instead of magic number '1'. 2009-03-28 21:42:19 +00:00
rmind
9c724ebaca Make inferior() function static, rename to p_inferior(), return bool. 2009-03-28 21:41:05 +00:00
rmind
ea3400a4b7 - proc_free(): no need assign 'p->p_pptr' to 'parent' many times,
re-use it where appropriate (proc_lock is held across usages).
- Undefine DEBUG_EXIT.
2009-03-28 21:38:55 +00:00
rmind
0d4fdf8b96 kvtop: change return type to paddr_t. 2009-03-28 21:34:17 +00:00
rmind
eefc2d042b mmrw: add missing pmap_update(). 2009-03-28 21:23:44 +00:00
rmind
a7fde9e6fa cpu_coredump: pass UIO_SYSSPACE to coredump_write(), not UIO_USERSPACE. 2009-03-28 21:21:29 +00:00
christos
0ca4fa8e5b revert previous; ctags has been fixed. 2009-03-28 18:43:20 +00:00
pooka
46d9c48ff8 regen: new syscalls 2009-03-28 16:34:34 +00:00
pooka
5e0d2571db mark a bunch of syscalls as RUMP 2009-03-28 16:33:40 +00:00
mrg
7e57d1b381 put the max_paddr DEBUG message under DUMP_DEBUG option. 2009-03-28 01:45:17 +00:00
ad
cf4d738d95 Remove -mtune, we'll let the compiler pick a good default (the current
default sucks).
2009-03-27 21:04:35 +00:00
drochner
bf4f01a782 Rearrange TSC inter-CPU synchronization code so that the gory details
are dealt with in x86/tsc.c and callers don't have to care that much.
Also add some comments and make some variables static.
approved by ad (a while ago)
2009-03-27 19:53:19 +00:00
dyoung
858d3b857c If a sip(4) is powered down, then so is its PHY, so don't try to read
media status from the PHY.
2009-03-27 16:45:53 +00:00
dyoung
590c39d0f3 For legibility, unifdef -U__FreeBSD__ -D__NetBSD__. This compiles, but
it is not run-tested.
2009-03-27 16:15:24 +00:00
dyoung
7377de8f1d Make this build on -current. 2009-03-27 16:10:50 +00:00
dyoung
a6cfb08d9c If defined(_KERNEL), #include <sys/types.h>, otherwise #include
<stdbool.h>, for the bool definition that we need. intr.h only got the
definition by chance, before.
2009-03-27 16:09:24 +00:00
dyoung
103f0ed593 If defined(_KERNEL), #include <sys/types.h>, otherwise #include
<stdbool.h>, for the bool definition that we need. cpu.h only got the
definition by chance, before.
2009-03-27 16:07:37 +00:00
dyoung
098e562dfd Explicitly #include <sys/device.h> and <sys/evcnt.h>. These files only
got the definitions they needed by chance, before.
2009-03-27 15:47:33 +00:00
pooka
c9e578684e rump_virtif_create prototype 2009-03-27 13:47:53 +00:00
pooka
06dceb4d08 * make interface creation open /dev/tapn for interface n
* create "unique" enaddr
* do send in async context
2009-03-27 13:46:34 +00:00
pooka
7a82389053 shotgun approach to rump syscalls 2009-03-27 13:18:27 +00:00
tsutsui
f8fb75a405 Use bus_space(9) to access registers. SETREG() macro using bogus casts
against packed structures doesn't work on gcc4. (no character on screen)
See also:
http://mail-index.NetBSD.org/port-sparc/2003/11/11/0002.html

Should be pulled up to netbsd-4 and netbsd-5.
2009-03-27 12:25:41 +00:00
tsutsui
030266c11f Check a correct bit for ip4csum-rx. Reported privately on PR kern/40955. 2009-03-27 12:19:17 +00:00
drochner
643809db9f namespace sanity: TIMER_RELTIME is _NETBSD_SOURCE only 2009-03-27 11:06:26 +00:00
drochner
109046eebe namespace sanity: SI_LWP and SI_NOINFO are _NETBSD_SOURCE only 2009-03-27 11:05:43 +00:00
drochner
083fa0419a In sigput(), save the siginfo no matter whether SA_SIGINFO is set or not.
There are also sigtimedwait(2) et al. to catch signals without invoking
a signal handler. Fixes PR kern/41076 by Matteo Beccati (the first
test case, where the signal is sent before sigwaitinfo(2) gets called).
2009-03-27 10:58:38 +00:00
dholland
c963cec011 Add the other three PCI ids for the nvidia MCP65 SATA controller to
the quirk table. This way they attach as ahcisata and work, instead of
attaching as viaide and failing miserably.

Fixes PR kern/37826.

XXX: There are a bunch of additional MCP67 and MCP73 PCI ids that
XXX: should probably be added also, but I don't want to do that without
XXX: further investigation and testing.
2009-03-27 06:36:49 +00:00
pooka
696e7eae87 fix botch in previous 2009-03-27 06:35:10 +00:00
cegger
8c5327a270 use auto-negotiation for manual media type selection.
This should fix establishment of 10/100Mbps link on L1E.
Helpful to reduce watchdog timeout problems on L1 (age(4)) reported by Jochen Kunz.
From FreeBSD via OpenBSD.
2009-03-27 04:42:50 +00:00
gmcgarry
65b9855fd5 Replace gcc initialisers with c99 designated initialisers. 2009-03-26 22:22:14 +00:00
he
c05f1c0f90 Make the function declaration the same for the big-endian case as
for the little-endian case, and consistent with the libkern.h
declaration.  Fixes build problem for at least hp700 and evbbarm-eb.
2009-03-26 22:18:14 +00:00
gmcgarry
a6dda89bce Pass argument to __aligned() through __STRING() so that it is correctly expanded. Now __aligned(CACHE_LINE_SIZE) works with pcc. 2009-03-26 22:16:44 +00:00
pooka
f75bcfdea3 pretend to do some sort of cleanup in error branches 2009-03-26 20:05:07 +00:00
pooka
02040931ba Handle eof a bit differently. E.g. ffs and msdosfs seem to have
a quite different opinion about what happens in bmap beyond EOF,
so avoid calling it.
2009-03-26 08:22:22 +00:00
macallan
31e90ebd10 add a few more register definitions, needed by the latest crime_drv. 2009-03-26 04:11:58 +00:00
mrg
b73a4b4545 avoid a useless uninitialised use, picked up by gcc -O3. 2009-03-26 01:52:24 +00:00
dyoung
3a72540da6 This only got the definition of device_xname() by chance, so explicitly
#include <sys/device.h>.
2009-03-26 00:30:10 +00:00
dyoung
b63bf39017 It is only by chance that this gets the prop_array_t definition that it
needs, so explicitly #include <prop/proplib.h>.
2009-03-25 23:35:54 +00:00
dyoung
9fd1ce14c3 It is only by accident that these get the definitions they need from
<sys/device.h>, so explicitly #include <sys/device.h>.
2009-03-25 22:56:00 +00:00
dyoung
61cf8013a0 It is only by accident that this gets the definitions it needs from
<sys/evcnt.h>, so explicitly #include <sys/evcnt.h>.
2009-03-25 22:54:56 +00:00
dyoung
f81f62377d It is only by accident that these get definitions they need from
<sys/device.h>, so explicitly #include <sys/device.h>.
2009-03-25 22:53:51 +00:00
dyoung
6506e7a17d ctags(1) gets confused by 'typedef struct X { } X_t', so break 'typedef
struct pmf_private { ... } pmf_private_t' into a struct definition and a
typedef definition.
2009-03-25 21:48:36 +00:00
dyoung
5a65a2f318 DVF_ACTIVE is unconditionally set when we attach a device, so
unconditionally clear it after we give a device's deactivate() routine a
chance.
2009-03-25 21:43:42 +00:00
dyoung
c42425328d When we attach a pseudo-device, set its cfdata_t's cf_fstate to
FSTATE_FOUND, as we do in config_attach_loc(), in order to avoid a
DIAGNOSTIC panic in config_detach() if we detach the device.
2009-03-25 21:28:50 +00:00
reinoud
b9f5db933c Fix possible overshoot when allocating from a space bitmap when ffs(3) returns
a too big offset for the bitmap.
2009-03-25 20:04:52 +00:00
tls
3559a90485 Fix compilation error on 64-bit platforms. 2009-03-25 19:21:39 +00:00
tls
a34cd18b76 Fix build problems caused by crc32 addition to libkern. Also, this makes
the i386 bootblocks about 2K smaller than they were before we monkeyed
with crc32 at all.
2009-03-25 18:41:06 +00:00
pooka
c2f2875913 Need to compile with -D_REENTRANT, otherwise calling putchar() can
cause libc to commit suicide (!!!).
2009-03-25 14:05:03 +00:00
cegger
798c21064c regen. 2009-03-25 06:51:12 +00:00
cegger
753abffbcf add some CICADA PHYs. from FreeBSD. 2009-03-25 06:49:56 +00:00
cegger
8d8839858d catch up with i386 xen kernels:
enable cgd by default
2009-03-25 06:26:44 +00:00
darran
36ea3668b9 Fixes PR kern/41069 and PR kern/41070.
Extends the Opencrypto API to allow the destination buffer size to be
specified when its not the same size as the input buffer (i.e. for
operations like compress and decompress).
The crypto_op and crypt_n_op structures gain a u_int dst_len field.
The session_op structure gains a comp_alg field to specify a compression
algorithm.
Moved four ioctls to new ids; CIOCGSESSION, CIOCNGSESSION,  CIOCCRYPT,
and CIOCNCRYPTM.
Added four backward compatible ioctls; OCIOCGSESSION, OCIOCNGSESSION,
OCIOCCRYPT, and OCIOCNCRYPTM.

Backward compatibility is maintained in ocryptodev.h and ocryptodev.c which
implement the original ioctls and set dst_len and comp_alg to 0.

Adds user-space access to compression features.

Adds software gzip support (CRYPTO_GZIP_COMP).

Adds the fast version of crc32 from zlib to libkern. This should be generally
useful and provide a place to start normalizing the various crc32 routines
in the kernel.  The crc32 routine is used in this patch to support GZIP.

With input and support from tls@NetBSD.org.
2009-03-25 01:26:12 +00:00
agc
5e3c351cee Catch up with the changes in i386 GENERIC, and enable cgd by default
in XEN2 and XEN3 kernels.

Xen really requires cgd, and as users are likely to get a domain given
to them without the possibility of recompiling a kernel for
themselves, we need to provide this by default.

As discussed with bouyer@, and with his OK.
2009-03-24 22:42:50 +00:00
haad
3914ae191c Destroy mutexes used to guard hash table during vfs_detach. Fixes LOCKDEBUG
panic when ptyfs module is unloaded.
2009-03-24 22:05:24 +00:00
martin
bce5c2205a Now that we compile the Atheros HAL from source we pass all the right
flags to the compiler so it obeys the same ABI as the rest of the kernel.
Remove the hacks used to work around the abi differences (using %s7 as
curlwp) intruduced for the binary hal.
2009-03-24 21:36:46 +00:00
christos
c29e9578af use kauth instead of uid != 0 2009-03-24 21:00:05 +00:00
roy
4ff22349d3 When a route is deleted or it's ifa changed and it's the connected route
for the ifa we should ensure the IFA_ROUTE flag is removed from the ifa
and if applicable, added to the new ifa.
2009-03-24 16:36:52 +00:00
tsutsui
8567f2b149 Put back zstty0 and zstty1 lines for onboard zs(4) serial ports
so that they are properly assinged to ttya and ttyb as pre-wscons kernels.
Ok'ed by macallan@.
2009-03-24 12:16:12 +00:00
pooka
20f51bbafd need putter too 2009-03-24 11:53:22 +00:00
pooka
d2478264ae file-system PUFFS 2009-03-24 11:52:21 +00:00
scw
ebf9670f10 Fix fallout from device_t changes - initialise sc->sc_osiop.sc_dev before
calling osiop_attach().
2009-03-23 18:59:57 +00:00
liamjfoy
29f894919e Init ip6flow pool dynamically instead of using a linkset. 2009-03-23 18:43:20 +00:00
oster
e021b3e6a7 Rework/simplify the disk queuing code. A bunch of this was still
holdovers from the simulator and would never be seen/used in-kernel.
2009-03-23 18:38:54 +00:00
tsutsui
92da7d73c5 Revert kludge in previous.
The warning was triggered by __builtin_memcpy() on vax, and
it has been disabled in libkern.h for _STANDALONE programs.
2009-03-23 13:52:32 +00:00
tsutsui
2a6ed85992 - use -Os to shrink bianries
- remove local shrinked memcpy() from bootxx.c bacause
  now it's identical with __OPTIMIZE_SIZE__ libsa one
  derived from src/common/lib/libc/string/bcopy.c.

Tested netboot from le0 and bootxx + boot from sd0 on SS1+.
2009-03-23 13:47:32 +00:00
tsutsui
9c6c3c68dd Don't use gcc's __builtin_*() functions #if defined(_STANDALONE)
because they could be larger than __OPTIMIZE_SIZE__'ed libsa ones and
__builtin_memcpy() on vax rejects NULL (i.e. copying from/to address 0x0).

No particular comments on tech-toolchain.

Tested on alpha, arc, cobalt, hp300, i386, landisk, macppc, news68k, sgimips,
sparc, sparc64, sun3, and vax (on simh).
2009-03-23 13:41:00 +00:00
pooka
e99fa0f61a massage comment. no functional change. 2009-03-23 11:52:42 +00:00
pooka
932c102c8b Support async writes, can benefit mmio case. 2009-03-23 11:48:32 +00:00
pooka
ddeb7494ff fix recent bug: writable images were not mapped with MAP_SHARED 2009-03-23 10:26:49 +00:00
yamt
ba2f392cdc sys_mremap: whitespace 2009-03-23 02:12:54 +00:00
ad
dabb2cae17 Set up module_map correctly so that the system does not panic if it
becomes full.
2009-03-22 19:57:11 +00:00
msaitoh
9384d3cea3 Take some code from FreeBSD and OpenBSD
-Add some known CHIPID entries.
 -Add a code for BCM5906 into bge_chipinit(). We have to do more work for
  BCM5906.
 -Fix the case of setting a flag in BGE_PCI_DMA_RW_CTL (on conventional PCI).
2009-03-22 18:54:59 +00:00
msaitoh
2abe3d4169 Make bge(4) close to FreBSD and OpenBSD.
NO FUNCTIONAL CHANGE BY THIS COMMIT.
2009-03-22 18:14:59 +00:00
msaitoh
a23f160d73 Make bge(4) close to FreBSD and OpenBSD.
NO FUNCTIONAL CHANGE BY THIS COMMIT.
2009-03-22 16:20:06 +00:00
msaitoh
a95fdaad68 eliminate PHY_1 quirk (like OpenBSD (rev. 1.110) and FreeBSD (rev. 1.44)) 2009-03-22 16:12:53 +00:00
pooka
3a6a8a145f Remove clearly incorrect constraint: can't compare range against eof if
offset != start.
2009-03-22 13:38:54 +00:00
pooka
b2ba089f62 Bounds-check requests in case we are operating directly on a regular file. 2009-03-22 09:51:05 +00:00
pooka
c7a778f6c1 reference to ABC2009 paper 2009-03-22 05:41:49 +00:00
uwe
1ebb57a8c6 Don't bother trying to attach GPIO, AFE and FIR modules for which we
have no drivers.

Standby TIMER that we don't use.  One of the timers is always out of
standby on my Jornada on boot (WinCE uses it), so save some power.

Standby AFE and FIR for which we have no drivers (I don't know if any
hpcsh hardware actually uses them, so they are likely to be in standby
already anyway).
2009-03-22 02:25:11 +00:00
ad
7c4a91a3e5 uid_init: maxproc -> maxcpus 2009-03-22 00:49:13 +00:00
ad
2fc1c0de55 Add 2 event counters:
"x86", "io bitmap copy"
"x86", "ldt sync"
2009-03-21 22:55:08 +00:00
ad
e23c2bc3ad A couple more comments. 2009-03-21 22:17:13 +00:00
ad
b8dea7e04e Add a comment. 2009-03-21 21:42:00 +00:00
ad
416888aeaa Fix the *third* break to this driver from sloppy device_t conversion. 2009-03-21 19:44:26 +00:00
ad
3c11640e0d Fix 'boot -z' bogons. 2009-03-21 15:01:56 +00:00
ad
418272808a Correction to previous. 2009-03-21 14:48:02 +00:00
ad
d16d704d62 PR port-i386/40143 Viewing an mpeg transport stream with mplayer causes crash
Fix numerous problems:

1. LDT updates are not atomic.

2. Number of processes running with private LDTs and/or I/O bitmaps
   is not capped. System with high maxprocs can be paniced.

3. LDTR can be leaked over context switch.

4. GDT slot allocations can race, giving the same LDT slot to two procs.

5. Incomplete interrupt/trap frames can be stacked.

6. In some rare cases segment faults are not handled correctly.
2009-03-21 14:41:29 +00:00
ad
2600da8765 ffs_sync: ensure that we *do* flush atime updates periodically.
ffs_update() was eating the flag.
2009-03-21 14:35:48 +00:00
ad
7364cd36a3 Allocate sleep queue locks with mutex_obj_alloc. Reduces memory usage
on !MP kernels, and reduces false sharing on MP ones.
2009-03-21 13:11:14 +00:00
ad
912b4160fd Make 'show event', 'dmesg' work with crash(8).
XXX dmesg fails exactly the same way as /sbin/dmesg.
2009-03-21 13:06:39 +00:00
drochner
cabe8641e7 Work around a problem with PCMCIA adapter drivers (eg for hpc*) which
attach pcmcia devices before interrupts are enabled. This is unclean
because pcmcia drivers use tsleep(9) in the attach code path but it
worked all the time and it is too late to change this on the 5.0 branch.
So just tolerate it.
Fixes a regression on hpcsh reported by Valeriy E. Ushakov.
2009-03-21 12:35:17 +00:00
tsutsui
6c00def18c Add another quirk flag which shows availability of EEPROM command register.
Now we can remove sc_rev which was intended to represent "MAC revision"
used in the Realtek driver.
2009-03-21 10:05:28 +00:00
tsutsui
78a1fca2f2 Add and use a new quirk flag to disable JUMBO MTU,
rather than checking sc_rev values.
2009-03-21 09:18:06 +00:00
tsutsui
200d1adc6c Add hardware checksum support for newer PCIe 8168/8111/8102 chips,
per device info taken from FreeBSD driver.  Tested by snj@ on 8111C.

Should closes PR kern/40955.

Note on old 8169 chips IP hw csum must be enabled to use TCP/UDP hw csums,
but I'm not sure if these newer chips still have the same restriction.
2009-03-21 07:58:30 +00:00
uwe
490f3711c0 Interrupt handling changes (revision 1.23) bumped down _IPL_N to 8 for
some reason.  Restore it to correct 16.

HTF did hpcsh work all this time with hd6446x_imask[_IPL_N] indexed
with IPLs 0..15 is a mistery...  Discovered by accidentally triggering
hd64461 timer interrupt that is not enabled and should have been
masked.

_IPL_N used to be *also incorrect* 15 before Andy's change, which
makes one wonder if dumb luck is severly underappreciated.
2009-03-21 06:11:08 +00:00
pooka
0f732e9cfb remove RANLIB too. pointed out by perry. 2009-03-21 04:59:08 +00:00
uwe
1251c9c4c1 Print only the offending masked HD6446x interrupt, not all of the NIRR. 2009-03-21 04:58:32 +00:00
uwe
89c9d74da9 Fix typo in message. 2009-03-21 03:51:41 +00:00
uwe
ba51317c25 Minor cosmetic. 2009-03-21 03:13:30 +00:00
uwe
76c0e81d47 In the current code the even loop is never exited, but it's cleaner to
have explicit kthread_exit at the end of the event thread routine.
2009-03-21 02:23:03 +00:00
uwe
df7998fac1 Move channel attachment to event thread (we already have one, so it's
easier to do it there rather than mess with config_interrupts()).

From kiyohara@.  Discussed with drochner@, who pointed out that pcmcia
drivers are expected to attach with interrupts enabled.
2009-03-21 02:02:39 +00:00
christos
9114dc885f Fix old userland compat. 2009-03-21 01:11:53 +00:00
reinoud
a3665ba58f Fix panic due to memory leak on symlink creation. A test copy with 3000+
symlinks could get the machine down.
2009-03-20 23:06:52 +00:00
drochner
44eb10764a Putting a device into the unconfigured state by an ioctl seems legitimate,
so check for a non-NULL configuration descriptor before dereferencing.
Should fix a crash reported by Nicolas Joly per PR kern/41048.
(It still doesn't look good that the ioctl which unconfigures the device
returns EIO -- either it is legitimate or it isn't -- but since this
is a pullup candidate I don't dare to change user visible behaviour.)
2009-03-20 20:47:43 +00:00
tsutsui
3c5f553e65 Try to avoid zstty hangs on higher speed:
z8530sc.c:
 Check pending interrupts in a loop until all requests are handled.
 The old comments said it would cause horrible latency to sun3x floppy etc,
 but serial ports should have higher priority than disks anyway.

z8530tty.c:
 Don't enable and disable TX interrupts on each transmit start and completion
 because it could cause possible race conditions.
 Instead, set ZSWR0_RESET_TXINT on each TIE interrupt to clear the request
 as other kbd drivers attached at zs(4).

Tested on cobalt, macppc, news68k, sparc, and sun3.
2009-03-20 16:28:57 +00:00
tsutsui
e61fbf18ec Build common standalone MD sources in libsa. 2009-03-20 13:59:49 +00:00
tsutsui
1b7ed0b13a Switch sun68k standalone programs to using MI libsa and libkern.
Bump version.

Tested bootxx + ufsboot on TME (sun2 and sun3) and 3/80 (sun3x).
2009-03-20 11:42:25 +00:00
tsutsui
9d27968892 Allow MD standalone Makefiles overriding MI libsa settings
by SA_EXTRADIR variable passed via SAMISCMAKEFLAGS.
2009-03-20 11:31:30 +00:00
pooka
e77db3f765 fix cscope target
Philip Paeps, PR kern/41012
2009-03-20 09:13:06 +00:00
pooka
f733e7ab3f need atomic.h 2009-03-20 08:30:52 +00:00
msaitoh
4a8c9df3c3 Examine the management mode and mark DRV_LOAD (for ICH{8,9,10},80003,
8257{1,2,3,4}).

Add some error's printf().

Make the bank detect routine into the function.
2009-03-20 07:29:15 +00:00
tsutsui
4b2a9ec9d1 Access LDPS register in re_reset() only on 8169S single chip variants.
From OpenBSD and FreeBSD drivers via PR kern/41009, and
Realtek-supplied FreeBSD driver.
2009-03-20 06:31:31 +00:00
msaitoh
8a7c1f65b7 On i82563, the em driver says that the ready bit in the MDIC register may be
incorrectly set. Insert delay(200) like the em driver. Fixes PR#41014.
2009-03-20 06:27:53 +00:00
cegger
4f9cf8aa30 Correct bungled bcopy() -> memcpy() conversion 2009-03-20 05:26:37 +00:00
he
2c9ccd9e54 Correct one more bungled bcopy() -> memcpy() conversion. 2009-03-19 23:09:13 +00:00
he
9cd8fe02fa Correct a few more bungled bcopy() -> memcpy() conversions. 2009-03-19 22:52:16 +00:00
tsutsui
b1063595a6 Add braces missed on RX hardware cksum support.
Fixes RX failure on 82557/82558.
2009-03-19 15:28:04 +00:00
he
521052f60d It seems gcc is unhappy about a literal 0 as a pointer argument
to memcpy().  Work around that by using a local variable instead.
(This looks a bit dubious, but who am I to judge the restrictions
in the standalone environment on the vax -- this should not change
the semantics of what was here before.)
2009-03-19 14:11:20 +00:00
he
009f7e26ee Now that the stand/ code was converted to use memcpy(), the private
implementation of bcopy() needs to become memcpy() as well.  The
simpler local implementation is needed so that the boot code doesn't
overflow the available space.
2009-03-19 14:05:24 +00:00
pooka
5ac2257698 Release dvp in mknod error branch.
Nicolas Joly, PR kern/41006
2009-03-19 13:47:32 +00:00
pooka
83102249b5 Reflect the change to archivebuild in bsd.lib.mk rev 1.296 for
deterministic builds, as hinted by perry.
2009-03-19 12:01:50 +00:00
tsutsui
3c7a0b7662 Revert previous. MI libsa doesn't provide bcmp(). 2009-03-19 10:20:54 +00:00
tsutsui
18014b1a99 Remove bcmp() from MD libsa.
XXX: These ports should be rewritten to use MI libsa for maintainability.
2009-03-19 10:19:33 +00:00
pooka
18c512728c Simple syscall_establish() support.
(should use kernel sources version, but it's buried inside a
module with a lot of junk in it, so shortcut for now)
2009-03-19 09:36:38 +00:00
pooka
18c141daf8 Make it possible to mount a file system through the mount() system
call in addition to the old rump_mnt_mount().  Some issues remain
(but require more deeprooted changes):
* it is possible to mount only to /
* unmount needs MNT_FORCE due to the new fs being root and having
  a bonus reference
* cwdi is not set (since there is no concept of a process)
2009-03-19 09:14:37 +00:00
pooka
40e16b3309 regen: rump_sys_mount() 2009-03-19 09:09:36 +00:00
pooka
226a234960 make mount() a rump call 2009-03-19 09:08:35 +00:00
pooka
1abcd0c8e6 +VT_RUMP 2009-03-19 09:07:54 +00:00
he
3b9146b27b Add a prototype for the bcmp() function as well. 2009-03-19 08:38:12 +00:00
he
7ee1268353 Correct one more bungled bcopy() -> memcpy() conversion. 2009-03-19 08:33:14 +00:00
he
59e8c39718 Correct two more bungled bcopy() -> memcpy() conversions. 2009-03-19 08:22:29 +00:00
uebayasi
2e8ee3c0d9 Fix build on LP64. While here KNF around. 2009-03-19 03:05:14 +00:00
mrg
4df09e915b remove a bunch of special casing to handle improperly set segment
registers.  if we faulted trying to set them, just fall into
"we_re_toast", and arrange for a SEGV to be delivered to the
userland process.  fixes kernel mode faults.

from andrew doran.
2009-03-19 02:59:00 +00:00
he
9df5574fb1 Correct a bzero() -> memset conversion. 2009-03-18 22:13:05 +00:00
he
2d28d1f215 Correct a couple of bcopy() -> memcpy() conversions which did not
properly handle their arguments.
2009-03-18 22:08:57 +00:00
dyoung
75c7534526 Remove native compatibility options to stop the config(1) errors
that Juergen Hannken-Illjes reports:

    sys/arch/i386/conf/MONOLITHIC:16: already have options `COMPAT_NOMID'
    sys/arch/i386/conf/MONOLITHIC:17: already have options `COMPAT_09'
    ...
2009-03-18 20:57:45 +00:00
pooka
f9b03e467a Remember to kqueue_init() too so that non-timer events work. 2009-03-18 18:00:38 +00:00
pooka
471edf2cdf Support kqueue in the rump virtual kernel. 2009-03-18 17:56:15 +00:00
pooka
9f7fb39b1d regen: kevent and kqueue 2009-03-18 17:52:19 +00:00
pooka
ddf9eb29c5 kqueue and kevent for rump 2009-03-18 17:51:17 +00:00
pooka
6a77d87235 regen: arg -> callarg 2009-03-18 17:30:25 +00:00
pooka
0ef29cbdba Rename rump argument marshalling structure variable to "callarg" to
avoid collision with system calls which use "arg".
2009-03-18 17:27:04 +00:00
cegger
e2cb85904d bcopy -> memcpy 2009-03-18 17:06:41 +00:00
cegger
c363a9cb62 bzero -> memset 2009-03-18 16:00:08 +00:00
pooka
938ad48315 When doing I/O to a regular file, try to use mmio instead of
read/write.  This makes a rump_fs file server around 5% faster.
2009-03-18 15:39:27 +00:00
pooka
f09f82998f * allow to specify PROT_READ/PROT_WRITE when mmapping a file
* add msync
2009-03-18 15:32:27 +00:00
cegger
35fb64746b bcmp -> memcmp 2009-03-18 15:14:29 +00:00
tsutsui
83a448a377 Include <string.h> for memcpy(3). 2009-03-18 13:24:38 +00:00
tsutsui
d0b9e6c924 - remove bcmp(9), bcopy(9), and bzero(9) from libkern since <sys/systm.h> has
macro which replace them with mem*() functions in #ifdef _KERNEL as noted
  in man pages
- move declarations of bcopy(3) and bzero(3) into <lib/libsa/stand.h>
  since they are still in libsa for some MD standalone sources
  (I guess all bcmp(3) in standalone sources have been replaced with memcmp(3)
   but they should be replaced with memcmp() anyway)
2009-03-18 12:25:06 +00:00
cegger
a1f5aecf36 buildfix: undo previous 2009-03-18 10:41:46 +00:00
cegger
df7f595ecd Ansify function definitions w/o arguments. Generated with sed. 2009-03-18 10:22:21 +00:00
cegger
20cd1777db ansify function definitions 2009-03-18 07:41:54 +00:00
uwe
7ae7c6b0f8 Turn on display on attachment. Fixes the scenario when serial console
is used and you reboot (using kloader) with screen turned off.
2009-03-18 02:49:34 +00:00
reinoud
83969672ba Fix long standing problem with CD/DVD writing with `dd'. If done this way the
device will remain in a wait-for-more-stuff-to-be-written state delaying other
SCSI calls, esp. some read-size or read-layout calls, until its told there is
no more comming.

To fix this, on last close explicitly flush the caches releasing the device
from this mode and allowing other SCSI commands to reach it.

This fixes PR 40528
2009-03-17 21:25:47 +00:00
dyoung
69fbb7297e Reactivate native compatibility in GENERIC. 2009-03-17 20:04:39 +00:00
he
6dc3c9a69e Make putchar() conform to the stand.h prototype, so that this builds again. 2009-03-17 19:41:32 +00:00
dyoung
018696dd66 Handle child-detachment by NULL'ing the child pointer so that
auich_detach() does not subsequently dereference a dangling pointer.
2009-03-17 19:38:34 +00:00
dyoung
4a8da47938 Expand a lot of macros from sys/dev/usb/usb_port.h.
Handle child-detachment by NULL'ing the child pointer, so that
umass_detach() will not subsequently dereference the dangling
pointer.
2009-03-17 19:12:17 +00:00
he
f39d6889ae Due to the way these files are used, ref. libdos/makedoscalls.awk and
libiocs/makeiocscalls.awk, we need a space between the function name
and the parameter list in the declaration.
2009-03-17 18:58:26 +00:00
he
75306d0938 Correct the sense of the test for LIBSA_NO_FS_CLOSE
so that this builds again.
2009-03-17 18:43:43 +00:00
dsl
98ae204731 Add some 'int' into function definitions where the K&R one didn't
specify a type.
2009-03-17 18:19:15 +00:00
he
62db563030 Re-balance parenthesis in a couple of places. 2009-03-17 10:16:55 +00:00
msaitoh
50a765e44b Make it compile without PCI. 2009-03-17 00:51:27 +00:00
he
d44fdcfc47 Introduce LIBSA_NO_DEV_IOCTL, and don't declare ioctl() if it's defined.
Also, don't declare the close() function if LIBSA_NO_DEV_CLOSE is defined.
2009-03-17 00:45:46 +00:00
he
cdd90ae5f0 Introduce LIBSA_NO_DEV_IOCTL. Don't declare the ioctl routine
if it is defined, and don't declare the close routine if
LIBSA_NO_DEV_CLOSE is defined.
2009-03-17 00:35:08 +00:00
he
62f5486c1b Make a couple of functions conform to the prototype, restoring buildability. 2009-03-17 00:18:40 +00:00
he
715f7f5caa Make putchar() obey the stand.h prototype. 2009-03-17 00:13:43 +00:00
dyoung
a3bde60951 #include "opt_compat_netbsd.h" for COMPAT_20. 2009-03-17 00:08:10 +00:00
dyoung
1290eea0cb Add #include "opt_compat_netbsd.h" for COMPAT_09. 2009-03-17 00:01:54 +00:00
he
d6a69143f8 Correct the sense of the check for LIBSA_NO_FS_CLOSE; restores buildability. 2009-03-16 23:46:12 +00:00
dsl
7cc9af7d64 ANSIfy functions with function-pointer arguments 2009-03-16 23:11:09 +00:00
njoly
fd24f7c917 Regen for netbsd32_dev_t. 2009-03-16 20:49:16 +00:00
njoly
0f21bb4a22 Fix dev_t alignment, by not using the new 64bit value directly but
rather a 32bit aligned version (netbsd32_dev_t = netbsd32_uint64).

ok by cube@.
2009-03-16 20:48:13 +00:00
nonaka
f0b5e260c9 Don't use kloader_reboot() when after panic. 2009-03-16 12:54:52 +00:00
tsutsui
7a44ef30a5 Pull a fix from hme.c rev 1.73 (to #if 0'ed out part):
> Fix a bug in calculation of checksum deduction:
> - To get 16 bit one's complement value from uint32_t variable,
>   higher 16 bits should be ignored.
> - RFC 1624 describes methods to recalculate checksum field in headers,
>   i.e. one's complement of one's complement sum that could be 0x0000,
>   but we don't have to use the strategy to deduct one's complement sum
>   itself which won't be zero but should be 0xffff.
2009-03-16 12:13:04 +00:00
tsutsui
24a0836984 Fix a bug in calculation of checksum deduction:
- To get 16 bit one's complement value from uint32_t variable,
  higher 16 bits should be ignored.
- RFC 1624 describes methods to recalculate checksum field in headers,
  i.e. one's complement of one's complement sum that could be 0x0000,
  but we don't have to use the strategy to deduct one's complement sum
  itself which won't be zero but should be 0xffff.

Found on debugging mec(4) on sgimips O2.
2009-03-16 12:02:00 +00:00
nonaka
b8c79d033f set DALGN register when address is misaligned (PXA27x only). 2009-03-16 11:42:31 +00:00
nonaka
72d2ade5d7 Added DMA Alignment register definition. 2009-03-16 11:32:27 +00:00
tsutsui
31b444f9ae Add a dumb RX hardware TCPv4/UDPv4 checksum support. 2009-03-16 09:58:51 +00:00
cegger
05d33dc7bf ansify function definitions 2009-03-16 09:32:38 +00:00
cegger
962766853c ansify function definitions 2009-03-16 05:59:21 +00:00
rmind
9ca548605e Add prototypes for recent kcpuset_*() functions, which I forgot to commit. 2009-03-15 22:52:39 +00:00
cegger
ebceae53e5 ansify function definitions 2009-03-15 22:20:09 +00:00
cegger
164477c65a ansify function definitions 2009-03-15 22:16:09 +00:00
cegger
248cdce283 ansify function definitions 2009-03-15 21:33:51 +00:00
cegger
dc56dbbd97 ansify function definitions 2009-03-15 21:23:31 +00:00
cegger
d3189d3544 ansify function definitions 2009-03-15 20:30:05 +00:00
cegger
317b4e018f ansify function definitions 2009-03-15 17:24:43 +00:00
cegger
b8817e4aed ansify function definitions 2009-03-15 17:14:40 +00:00
christos
3cb697e64a Add a chroot flag, so that ptyfs can be mounted in a chrooted environment.
XXX: This is a hack, in reality we should allow multiple ptyfs mounts.
2009-03-15 16:43:55 +00:00
cegger
9fca5da616 ansify function definitions 2009-03-15 15:55:51 +00:00
cegger
7038d1e471 ansify function definition 2009-03-15 15:54:43 +00:00
cegger
4b83748ce5 ansify function definitions 2009-03-15 15:52:12 +00:00
cegger
f7d20361b0 ansify function definitions 2009-03-15 15:40:33 +00:00