Commit Graph

85257 Commits

Author SHA1 Message Date
elad 97b434c554 Slash sys_mount() and add three helper functions: mount_update(),
mount_getargs(), and mount_domount() to handle three main things it can
do.

This makes the code more readable and removes the horrible goto mess
that was lurking there since forever... it also makes it easier to
implement a security policy for that code.
2006-12-24 12:43:17 +00:00
elad 1124b0b8bc PR/35278: YAMAMOTO Takashi: veriexec sometimes feeds user va to log(9)
Introduce the (intentionally undocumented) pathname_get(), pathname_path(),
and pathname_put(), to deal with allocating and copying of pathnames from
either kernel- or user-space.
2006-12-24 08:54:55 +00:00
rumble 21e8e22085 Add zskbd console attachment. 2006-12-24 03:57:44 +00:00
darrenr 54726f45ee TCP window scaling was being recognised but the recorded settins were being
clobbered and thus effectively disabled
2006-12-24 02:31:16 +00:00
rumble b830d82e42 The Set Engineering workaround is now set as a proplib entry in
sgimips/autoconf.c.
2006-12-24 02:07:29 +00:00
rumble b4c47cf7f7 Set the DMA page boundary property for the Set Engineering GIO Fast
Ethernet board.
2006-12-24 02:05:55 +00:00
rumble b62466819b Revert the previous change and specify the appropriate page boundary to
bus_dmamap_create(9) via a proplib number entry.

Recommended by Izumi Tsutsui.
2006-12-24 01:49:45 +00:00
rumble 90e37dd7fb The Set Engineering board now works, so enabled it with the appropriate
workaround option. Also, add 'tlphy' to keep the dmesg tidy (it's unused).
2006-12-23 21:30:42 +00:00
rumble 86f754de17 Permit sq(4) to attach to secondary HPCs, enabling support for the E++
GIO adapters and the secondary ethernet on the Challenge S (untested).
2006-12-23 21:25:51 +00:00
rumble 25e8e63c52 The Set Engineering GIO board for sgimips (IP22) sits behind a special
bridge that precludes the ThunderLAN's DMA engine from performing segment
transfers across page boundaries. Add logic under #ifdef TL_SETENG_GFE to
split up these segment transfers appropriately.

It's unknown whether this issue could also affect the RX path, though no
problems have been observed yet.
2006-12-23 21:24:32 +00:00
elad 606687adb0 Use ndp->ni_cnd.cn_pnbuf, not epp->ep_ndp->ni_dirp, for the pathname
for Veriexec/PaX purposes.

(this is safe here because the nameiop is LOOKUP.)

Fixes part of PR/35278.
2006-12-23 17:23:51 +00:00
ad 384215762e lwp_update_creds(): acquire the kernel lock to avoid potential deadlock. 2006-12-23 08:39:47 +00:00
ad d635d897fb Allocate space for scopes and listeners with kmem. Ok elad@. 2006-12-23 08:38:00 +00:00
yamt e49bb7c765 - remove the fileassoc "tabledata" functionality. use mountspecific instead.
- make pax_segvguard_cb static.

tested and ok'ed by elad.
2006-12-23 08:35:43 +00:00
rumble 75aae500a9 Prefix 'dma_data{in,out}_cmd' with 'scsi_', since that's what they're used
for. Also, remove the 'clk_freq' variable, since this value differs on a
per-platform (IP12 is 20MHz, others are 10MHz) basis.

NB: I have no idea what frequency the GIO SCSI cards use. We'll have to
    re-investigate this if we ever come across one.
2006-12-22 23:36:42 +00:00
rumble ee970eec94 Remove errnoneous register definitions and rename some to be more specific.
Also, remove unused/invalid fields in our hpc revision abstraction and
be sure to zero entries when they do not apply to a specific revision.
2006-12-22 23:25:28 +00:00
rumble b1d3f5ef52 Use SGIMIPS_BUS_SPACE_HPC, rather than hard-coding it. 2006-12-22 23:09:14 +00:00
rumble 5ecb2874d8 Determine if we've an onboard HPC. If not, we must set up the bus arbiter
appropriately. We may need to do further work to get the IOPLUS mezzanine
devices working as well.
2006-12-22 23:08:22 +00:00
rumble 905fd33243 s/Challenge-S/Challenge S/ and fix an incorrect comment. 2006-12-22 22:42:47 +00:00
rumble 15065b7e7b Break our list of HPC devices into HPC1 and HPC3 variants. This cleans up
the list a bit and avoids Challenge S from using the HPC1 offets for its
HPC3-based secondary ethernet on the IOPLUS mezzanine board.
2006-12-22 22:38:42 +00:00
elad b5a8324144 Use KAUTH_DEVICE_TTY_OPEN instead of comparing euid to zero. 2006-12-22 21:56:19 +00:00
rumble a295ad6c89 Revert the change to using objcopy in 1.9. Our present objcopy solution
results in unbootable ecoff kernels ("malloc_type_attach: bad magic"
panic). Maybe this could be fixed with appropriate flags, but elf2ecoff
produces working ecoff kernels and ecoff bootloaders, which was the reason
for the switch in the first place.
2006-12-22 21:07:52 +00:00
rumble 79cd03d3ea Indigo and Indigo2 machines have only one shared interrupt for the two
GIO slots. This differs from Indy, which has an interrupt per slot, neither
of which is the same as on the other two machines.

This lets my Phobos G160 run in both slots in my Indigo2 and my E++ adapter
works in both slots in my Indigo.
2006-12-22 20:29:18 +00:00
jdc 06da305240 We don't need the cpu_startup() prototype here. It is already provided by
sys/systm.h.  Pointed out by skrll@.
2006-12-22 18:00:19 +00:00
elad 3d11477c94 Add requests indicating access to unmanaged memory for arm, pc532, powerpc,
sh3, sh5, and vax, and use them instead of KAUTH_GENERIC_ISSUSER.

Update documentation and example secmodel code.
2006-12-22 11:13:21 +00:00
rumble e42e4bd92a EEPROM and LED controls occupy the same byte. Unify them again. 2006-12-22 08:35:46 +00:00
rumble 121e1e9bfa Provide attaching hpc devices with the eeprom contents, should a chip be
connected to the HPC. The only real reason for doing this is to get the
mac addresses off of E++ ethernet boards and the Challenge S IOPLUS board.
If no eeprom is present, we read in invalid data and take some default
action (query ARCBIOS).
2006-12-22 08:17:14 +00:00
ad 0ff4104d82 lwp::l_acflag is no longer useful. 2006-12-22 08:04:01 +00:00
ad dd85fd121f ipintr(): check if the queue is empty before looping. Hardly a giant
win, but removed 30% of splnet() calls in one local test.
2006-12-22 05:34:02 +00:00
rumble 5e86516f78 Sprinkle static. 2006-12-22 05:26:01 +00:00
rumble b8f12e0261 Rework detecting the HPC revision. In most cases we can presume what it is
based on mach_type (or at least know the major revision). The only case we
really need to concern ourselves with is differentiating between HPC1
and HPC3 on IP22. Specifically, between a HPC3 on the Challenge S IOPLUS
board and a HPC1.5-based adapter in an Indy.
2006-12-22 05:08:56 +00:00
kiyohara c8826cd8a1 Use macro FWBUSNOTREADY. 2006-12-22 03:27:49 +00:00
kiyohara 190ae0482f Include ioconf.h it for `struct cfdriver fwohci_cd'. 2006-12-22 03:26:51 +00:00
rumble fe14643cc2 Fix previous by including the necessary header. 2006-12-22 01:36:24 +00:00
rumble d5df315486 Remove superfluous extern declarations; they're already in the headers. 2006-12-22 01:34:20 +00:00
rumble af1144f245 Guiness -> Guinness. 2006-12-22 01:32:37 +00:00
rumble 2ae0b89234 Codenames for IP12 and IP20. 2006-12-22 01:26:44 +00:00
yamt 6fe2586cce bump to 4.99.7; yamt-splraiseipl merge. 2006-12-21 15:57:11 +00:00
yamt 8bf7662829 merge yamt-splraiseipl branch.
- finish implementing splraiseipl (and makeiplcookie).
	  http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
	- complete workqueue(9) and fix its ipl problem, which is reported
	  to cause audio skipping.
	- fix netbt (at least compilation problems) for some ports.
	- fix PR/33218.
2006-12-21 15:55:21 +00:00
kiyohara 71d34007f5 Fix memory allocation, in case isochronous transfer fail this. 2006-12-21 00:31:51 +00:00
agc 06c3bf82f1 Fixes to allow veriexecgen to be built as a host tool. 2006-12-20 22:03:20 +00:00
bouyer 39568acf5e Add missing $NetBSD: $ 2006-12-20 21:44:06 +00:00
rpaulo f60d1114d3 Comment out #ident. 2006-12-20 17:03:20 +00:00
skrll be0d7b99e3 - Upgrade to the latest firmware and as a result remove the error log dump.
- Mostly sync with OpenBSD
	- Serialise sending commands to the firmware
	- Remove redundant calls to bpfdetach.
	- use bus_size_t where appropriate and not fetch iobase as it's not
	  used.
	- improve 802.11 radiotap support (correct rx rate)
	- add short preamble flag
	- add short slot time support
	- ignore parity errors (as per the Linux driver)
	- Set Tx power for all channels.
	- disable bluetooth co-existance
	- Check that ni->ni_rates.rs_nrates is not greater than the maximum
	  handled by the firmware.
- Begin syncing with the FreeBSD driver by renaming a few things.
2006-12-20 16:30:20 +00:00
mlelstv e2d192dd4b do not compare ipv6 ipsec tunnel addresses against uninitialized data.
Fixes PR kern/34734
2006-12-20 15:39:23 +00:00
elad 368ec17e69 Remove the third argument from check_exec() and just check for ep_flags
in the exec_package to know if we need to use VERIEXEC_DIRECT or
VERIEXEC_INDIRECT.

Suggested by and okay yamt@
2006-12-20 11:35:29 +00:00
christos 80b162af27 fix kernel panic with veriexec and raidframe. 2006-12-20 01:51:48 +00:00
smb 4612e5b3e5 Handle new gcc properly 2006-12-19 21:17:17 +00:00
itohy 41d24e831c Fix bus_dmamap_sync() usage.
This should not be a problem since BUS_DMASYNC_POSTWRITE is probably a no-op.
2006-12-19 14:12:26 +00:00
elad 9033a922ea Don't allow anyone but the superuser to do 'ctl' on procfs nodes. 2006-12-19 10:07:00 +00:00