svn commit: r197678 - in projects/sbruno_firewire: . etc/rc.d
sys/amd64/amd64 sys/amd64/conf sys/amd64/include sys/bsm
sys/cam sys/compat/freebsd32 sys/dev/acpica sys/dev/ae
sys/dev/age sys/dev/alc...
Sean Bruno
sbruno at FreeBSD.org
Thu Oct 1 16:25:36 UTC 2009
Author: sbruno
Date: Thu Oct 1 16:25:35 2009
New Revision: 197678
URL: http://svn.freebsd.org/changeset/base/197678
Log:
Merge to HEAD
Modified:
projects/sbruno_firewire/ (props changed)
projects/sbruno_firewire/etc/rc.d/netoptions
projects/sbruno_firewire/etc/rc.d/routing
projects/sbruno_firewire/sys/amd64/amd64/initcpu.c
projects/sbruno_firewire/sys/amd64/conf/GENERIC
projects/sbruno_firewire/sys/amd64/include/cpufunc.h
projects/sbruno_firewire/sys/bsm/audit_kevents.h
projects/sbruno_firewire/sys/cam/cam_sim.c
projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_proto.h
projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_syscall.h
projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_syscalls.c
projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_sysent.c
projects/sbruno_firewire/sys/compat/freebsd32/syscalls.master
projects/sbruno_firewire/sys/dev/acpica/acpi_acad.c
projects/sbruno_firewire/sys/dev/acpica/acpi_video.c
projects/sbruno_firewire/sys/dev/ae/if_ae.c
projects/sbruno_firewire/sys/dev/age/if_age.c
projects/sbruno_firewire/sys/dev/alc/if_alc.c
projects/sbruno_firewire/sys/dev/ale/if_ale.c
projects/sbruno_firewire/sys/dev/if_ndis/if_ndis.c
projects/sbruno_firewire/sys/dev/mxge/if_mxge.c
projects/sbruno_firewire/sys/dev/mxge/if_mxge_var.h
projects/sbruno_firewire/sys/dev/sound/pci/hda/hdac.c
projects/sbruno_firewire/sys/fs/nfs/nfs_commonacl.c
projects/sbruno_firewire/sys/i386/conf/GENERIC
projects/sbruno_firewire/sys/i386/i386/initcpu.c
projects/sbruno_firewire/sys/i386/include/cpufunc.h
projects/sbruno_firewire/sys/kern/init_main.c
projects/sbruno_firewire/sys/kern/init_sysent.c
projects/sbruno_firewire/sys/kern/kern_rwlock.c
projects/sbruno_firewire/sys/kern/kern_sig.c
projects/sbruno_firewire/sys/kern/kern_sx.c
projects/sbruno_firewire/sys/kern/syscalls.c
projects/sbruno_firewire/sys/kern/syscalls.master
projects/sbruno_firewire/sys/kern/uipc_syscalls.c
projects/sbruno_firewire/sys/pc98/conf/GENERIC
projects/sbruno_firewire/sys/sys/rwlock.h
projects/sbruno_firewire/sys/sys/sx.h
projects/sbruno_firewire/sys/sys/syscall.h
projects/sbruno_firewire/sys/sys/syscall.mk
projects/sbruno_firewire/sys/sys/sysproto.h
projects/sbruno_firewire/sys/vm/vm_map.c
projects/sbruno_firewire/usr.sbin/lpr/lp/lp.sh
projects/sbruno_firewire/usr.sbin/mfiutil/mfiutil.8 (props changed)
Modified: projects/sbruno_firewire/etc/rc.d/netoptions
==============================================================================
--- projects/sbruno_firewire/etc/rc.d/netoptions Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/etc/rc.d/netoptions Thu Oct 1 16:25:35 2009 (r197678)
@@ -9,6 +9,7 @@
# KEYWORD: nojail
. /etc/rc.subr
+. /etc/network.subr
name="netoptions"
start_cmd="netoptions_start"
@@ -66,11 +67,13 @@ netoptions_start()
;;
esac
- if checkyesno ipv6_ipv4mapping; then
- ${SYSCTL_W} net.inet6.ip6.v6only=0 >/dev/null
- else
- echo -n " no-ipv4-mapped-ipv6"
- ${SYSCTL_W} net.inet6.ip6.v6only=1 >/dev/null
+ if afexists inet6; then
+ if checkyesno ipv6_ipv4mapping; then
+ ${SYSCTL_W} net.inet6.ip6.v6only=0 >/dev/null
+ else
+ echo -n " no-ipv4-mapped-ipv6"
+ ${SYSCTL_W} net.inet6.ip6.v6only=1 >/dev/null
+ fi
fi
[ -n "${_netoptions_initdone}" ] && echo '.'
Modified: projects/sbruno_firewire/etc/rc.d/routing
==============================================================================
--- projects/sbruno_firewire/etc/rc.d/routing Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/etc/rc.d/routing Thu Oct 1 16:25:35 2009 (r197678)
@@ -51,7 +51,9 @@ static_start()
;;
*)
do_static inet add
- do_static inet6 add
+ if afexists inet6; then
+ do_static inet6 add
+ fi
do_static atm add
;;
esac
@@ -74,7 +76,9 @@ static_stop()
;;
*)
do_static inet delete
- do_static inet6 delete
+ if afexists inet6; then
+ do_static inet6 delete
+ fi
do_static atm delete
;;
esac
Modified: projects/sbruno_firewire/sys/amd64/amd64/initcpu.c
==============================================================================
--- projects/sbruno_firewire/sys/amd64/amd64/initcpu.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/amd64/amd64/initcpu.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -165,4 +165,10 @@ initializecpu(void)
*/
if ((cpu_feature & CPUID_CLFSH) != 0)
cpu_clflush_line_size = ((cpu_procinfo >> 8) & 0xff) * 8;
+ /*
+ * XXXKIB: (temporary) hack to work around traps generated when
+ * CLFLUSHing APIC registers window.
+ */
+ if (cpu_vendor_id == CPU_VENDOR_INTEL && !(cpu_feature & CPUID_SS))
+ cpu_feature &= ~CPUID_CLFSH;
}
Modified: projects/sbruno_firewire/sys/amd64/conf/GENERIC
==============================================================================
--- projects/sbruno_firewire/sys/amd64/conf/GENERIC Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/amd64/conf/GENERIC Thu Oct 1 16:25:35 2009 (r197678)
@@ -257,7 +257,7 @@ device xe # Xircom pccard Ethernet
device wlan # 802.11 support
options IEEE80211_DEBUG # enable debug msgs
options IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
-options IEEE80211_SUPPORT_MESH # enable 802.11s D3.0 support
+options IEEE80211_SUPPORT_MESH # enable 802.11s draft support
device wlan_wep # 802.11 WEP support
device wlan_ccmp # 802.11 CCMP support
device wlan_tkip # 802.11 TKIP support
Modified: projects/sbruno_firewire/sys/amd64/include/cpufunc.h
==============================================================================
--- projects/sbruno_firewire/sys/amd64/include/cpufunc.h Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/amd64/include/cpufunc.h Thu Oct 1 16:25:35 2009 (r197678)
@@ -277,7 +277,7 @@ static __inline void
mfence(void)
{
- __asm__ __volatile("mfence" : : : "memory");
+ __asm __volatile("mfence" : : : "memory");
}
static __inline void
@@ -457,14 +457,14 @@ load_es(u_int sel)
__asm __volatile("mov %0,%%es" : : "rm" (sel));
}
-static inline void
+static __inline void
cpu_monitor(const void *addr, int extensions, int hints)
{
__asm __volatile("monitor;"
: :"a" (addr), "c" (extensions), "d"(hints));
}
-static inline void
+static __inline void
cpu_mwait(int extensions, int hints)
{
__asm __volatile("mwait;" : :"a" (hints), "c" (extensions));
Modified: projects/sbruno_firewire/sys/bsm/audit_kevents.h
==============================================================================
--- projects/sbruno_firewire/sys/bsm/audit_kevents.h Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/bsm/audit_kevents.h Thu Oct 1 16:25:35 2009 (r197678)
@@ -598,6 +598,10 @@
#define AUE_FSCTL 43194 /* Darwin. */
#define AUE_FFSCTL 43195 /* Darwin. */
#define AUE_LPATHCONF 43196 /* FreeBSD. */
+#define AUE_PDFORK 43197 /* FreeBSD. */
+#define AUE_PDKILL 43198 /* FreeBSD. */
+#define AUE_PDGETPID 43199 /* FreeBSD. */
+#define AUE_PDWAIT 43200 /* FreeBSD. */
/*
* Darwin BSM uses a number of AUE_O_* definitions, which are aliased to the
Modified: projects/sbruno_firewire/sys/cam/cam_sim.c
==============================================================================
--- projects/sbruno_firewire/sys/cam/cam_sim.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/cam/cam_sim.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -106,8 +106,10 @@ cam_sim_free(struct cam_sim *sim, int fr
{
int error;
+ mtx_assert(sim->mtx, MA_OWNED);
sim->refcount--;
if (sim->refcount > 0) {
+ printf("%s: sim->refcount(%d)\n", __func__, sim->refcount);
error = msleep(sim, sim->mtx, PRIBIO, "simfree", 0);
KASSERT(error == 0, ("invalid error value for msleep(9)"));
}
@@ -125,6 +127,7 @@ cam_sim_release(struct cam_sim *sim)
KASSERT(sim->refcount >= 1, ("sim->refcount >= 1"));
mtx_assert(sim->mtx, MA_OWNED);
+ printf("%s: sim->refcount(%d)\n", __func__, sim->refcount);
sim->refcount--;
if (sim->refcount == 0)
wakeup(sim);
@@ -137,6 +140,7 @@ cam_sim_hold(struct cam_sim *sim)
mtx_assert(sim->mtx, MA_OWNED);
sim->refcount++;
+ printf("%s: sim->refcount(%d)\n", __func__, sim->refcount);
}
void
Modified: projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_proto.h
==============================================================================
--- projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_proto.h Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_proto.h Thu Oct 1 16:25:35 2009 (r197678)
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 195468 2009-07-08 16:26:43Z trasz
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 197636 2009-09-30 08:46:01Z rwatson
*/
#ifndef _FREEBSD32_SYSPROTO_H_
@@ -626,8 +626,7 @@ int freebsd4_freebsd32_sigreturn(struct
#endif /* COMPAT_FREEBSD4 */
-#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \
- defined(COMPAT_FREEBSD6)
+#ifdef COMPAT_FREEBSD6
struct freebsd6_freebsd32_pread_args {
char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
@@ -681,11 +680,10 @@ int freebsd6_freebsd32_lseek(struct thre
int freebsd6_freebsd32_truncate(struct thread *, struct freebsd6_freebsd32_truncate_args *);
int freebsd6_freebsd32_ftruncate(struct thread *, struct freebsd6_freebsd32_ftruncate_args *);
-#endif /* COMPAT_FREEBSD[456] */
+#endif /* COMPAT_FREEBSD6 */
-#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \
- defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7)
+#ifdef COMPAT_FREEBSD7
struct freebsd7_freebsd32_semctl_args {
char semid_l_[PADL_(int)]; int semid; char semid_r_[PADR_(int)];
@@ -707,7 +705,7 @@ int freebsd7_freebsd32_semctl(struct thr
int freebsd7_freebsd32_msgctl(struct thread *, struct freebsd7_freebsd32_msgctl_args *);
int freebsd7_freebsd32_shmctl(struct thread *, struct freebsd7_freebsd32_shmctl_args *);
-#endif /* COMPAT_FREEBSD[4567] */
+#endif /* COMPAT_FREEBSD7 */
#define FREEBSD32_SYS_AUE_freebsd32_wait4 AUE_WAIT4
#define FREEBSD32_SYS_AUE_freebsd4_freebsd32_getfsstat AUE_GETFSSTAT
Modified: projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_syscall.h
==============================================================================
--- projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_syscall.h Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_syscall.h Thu Oct 1 16:25:35 2009 (r197678)
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 195468 2009-07-08 16:26:43Z trasz
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 197636 2009-09-30 08:46:01Z rwatson
*/
#define FREEBSD32_SYS_syscall 0
@@ -382,4 +382,4 @@
#define FREEBSD32_SYS_freebsd32_msgctl 511
#define FREEBSD32_SYS_freebsd32_shmctl 512
#define FREEBSD32_SYS_lpathconf 513
-#define FREEBSD32_SYS_MAXSYSCALL 514
+#define FREEBSD32_SYS_MAXSYSCALL 522
Modified: projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_syscalls.c
==============================================================================
--- projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_syscalls.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_syscalls.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 195468 2009-07-08 16:26:43Z trasz
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 197636 2009-09-30 08:46:01Z rwatson
*/
const char *freebsd32_syscallnames[] = {
@@ -521,4 +521,12 @@ const char *freebsd32_syscallnames[] = {
"freebsd32_msgctl", /* 511 = freebsd32_msgctl */
"freebsd32_shmctl", /* 512 = freebsd32_shmctl */
"lpathconf", /* 513 = lpathconf */
+ "#514", /* 514 = cap_new */
+ "#515", /* 515 = cap_getrights */
+ "#516", /* 516 = cap_enter */
+ "#517", /* 517 = cap_getmode */
+ "#518", /* 518 = pdfork */
+ "#519", /* 519 = pdkill */
+ "#520", /* 520 = pdgetpid */
+ "#521", /* 521 = pdwait */
};
Modified: projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_sysent.c
==============================================================================
--- projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_sysent.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_sysent.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 195468 2009-07-08 16:26:43Z trasz
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 197636 2009-09-30 08:46:01Z rwatson
*/
#include "opt_compat.h"
@@ -558,4 +558,12 @@ struct sysent freebsd32_sysent[] = {
{ AS(freebsd32_msgctl_args), (sy_call_t *)freebsd32_msgctl, AUE_MSGCTL, NULL, 0, 0, 0 }, /* 511 = freebsd32_msgctl */
{ AS(freebsd32_shmctl_args), (sy_call_t *)freebsd32_shmctl, AUE_SHMCTL, NULL, 0, 0, 0 }, /* 512 = freebsd32_shmctl */
{ AS(lpathconf_args), (sy_call_t *)lpathconf, AUE_LPATHCONF, NULL, 0, 0, 0 }, /* 513 = lpathconf */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 514 = cap_new */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 515 = cap_getrights */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 516 = cap_enter */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 517 = cap_getmode */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 518 = pdfork */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 519 = pdkill */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 520 = pdgetpid */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 521 = pdwait */
};
Modified: projects/sbruno_firewire/sys/compat/freebsd32/syscalls.master
==============================================================================
--- projects/sbruno_firewire/sys/compat/freebsd32/syscalls.master Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/compat/freebsd32/syscalls.master Thu Oct 1 16:25:35 2009 (r197678)
@@ -901,3 +901,11 @@
512 AUE_SHMCTL STD { int freebsd32_shmctl(int shmid, int cmd, \
struct shmid_ds32 *buf); }
513 AUE_LPATHCONF NOPROTO { int lpathconf(char *path, int name); }
+514 AUE_CAP_NEW UNIMPL cap_new
+515 AUE_CAP_GETRIGHTS UNIMPL cap_getrights
+516 AUE_CAP_ENTER UNIMPL cap_enter
+517 AUE_CAP_GETMODE UNIMPL cap_getmode
+518 AUE_PDFORK UNIMPL pdfork
+519 AUE_PDKILL UNIMPL pdkill
+520 AUE_PDGETPID UNIMPL pdgetpid
+521 AUE_PDWAIT UNIMPL pdwait
Modified: projects/sbruno_firewire/sys/dev/acpica/acpi_acad.c
==============================================================================
--- projects/sbruno_firewire/sys/dev/acpica/acpi_acad.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/dev/acpica/acpi_acad.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -109,13 +109,14 @@ acpi_acad_get_status(void *context)
ACPI_SERIAL_BEGIN(acad);
if (newstatus != -1 && sc->status != newstatus) {
sc->status = newstatus;
+ ACPI_SERIAL_END(acad);
power_profile_set_state(newstatus ? POWER_PROFILE_PERFORMANCE :
POWER_PROFILE_ECONOMY);
ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev),
"%s Line\n", newstatus ? "On" : "Off");
acpi_UserNotify("ACAD", h, newstatus);
- }
- ACPI_SERIAL_END(acad);
+ } else
+ ACPI_SERIAL_END(acad);
}
static void
Modified: projects/sbruno_firewire/sys/dev/acpica/acpi_video.c
==============================================================================
--- projects/sbruno_firewire/sys/dev/acpica/acpi_video.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/dev/acpica/acpi_video.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -170,7 +170,13 @@ static struct sysctl_oid *acpi_video_sys
static struct acpi_video_output_queue crt_units, tv_units,
ext_units, lcd_units, other_units;
+/*
+ * The 'video' lock protects the hierarchy of video output devices
+ * (the video "bus"). The 'video_output' lock protects per-output
+ * data is equivalent to a softc lock for each video output.
+ */
ACPI_SERIAL_DECL(video, "ACPI video");
+ACPI_SERIAL_DECL(video_output, "ACPI video output");
MALLOC_DEFINE(M_ACPIVIDEO, "acpivideo", "ACPI video extension");
static int
@@ -236,12 +242,14 @@ acpi_video_attach(device_t dev)
acpi_sc = devclass_get_softc(devclass_find("acpi"), 0);
if (acpi_sc == NULL)
return (ENXIO);
+ ACPI_SERIAL_BEGIN(video);
if (acpi_video_sysctl_tree == NULL) {
acpi_video_sysctl_tree = SYSCTL_ADD_NODE(&acpi_video_sysctl_ctx,
SYSCTL_CHILDREN(acpi_sc->acpi_sysctl_tree),
OID_AUTO, "video", CTLFLAG_RD, 0,
"video extension control");
}
+ ACPI_SERIAL_END(video);
sc->device = dev;
sc->handle = acpi_get_handle(dev);
@@ -316,6 +324,7 @@ acpi_video_notify_handler(ACPI_HANDLE ha
dss_p = 0;
lasthand = NULL;
ACPI_SERIAL_BEGIN(video);
+ ACPI_SERIAL_BEGIN(video_output);
STAILQ_FOREACH(vo, &sc->vid_outputs, vo_next) {
dss = vo_get_graphics_state(vo->handle);
dcs = vo_get_device_status(vo->handle);
@@ -331,6 +340,7 @@ acpi_video_notify_handler(ACPI_HANDLE ha
}
if (lasthand != NULL)
vo_set_device_state(lasthand, dss_p|DSS_COMMIT);
+ ACPI_SERIAL_END(video_output);
ACPI_SERIAL_END(video);
break;
case VID_NOTIFY_REPROBE:
@@ -367,12 +377,14 @@ acpi_video_power_profile(void *context)
return;
ACPI_SERIAL_BEGIN(video);
+ ACPI_SERIAL_BEGIN(video_output);
STAILQ_FOREACH(vo, &sc->vid_outputs, vo_next) {
if (vo->vo_levels != NULL && vo->vo_brightness == -1)
vo_set_brightness(vo->handle,
state == POWER_PROFILE_ECONOMY ?
vo->vo_economy : vo->vo_fullpower);
}
+ ACPI_SERIAL_END(video_output);
ACPI_SERIAL_END(video);
}
@@ -550,7 +562,7 @@ static void
acpi_video_vo_bind(struct acpi_video_output *vo, ACPI_HANDLE handle)
{
- ACPI_SERIAL_ASSERT(video);
+ ACPI_SERIAL_BEGIN(video_output);
if (vo->vo_levels != NULL)
AcpiOsFree(vo->vo_levels);
vo->handle = handle;
@@ -565,6 +577,7 @@ acpi_video_vo_bind(struct acpi_video_out
/* XXX - see above. */
vo->vo_economy = vo->vo_levels[BCL_ECONOMY];
}
+ ACPI_SERIAL_END(video_output);
}
static void
@@ -605,7 +618,7 @@ acpi_video_vo_check_level(struct acpi_vi
{
int i;
- ACPI_SERIAL_ASSERT(video);
+ ACPI_SERIAL_ASSERT(video_output);
if (vo->vo_levels == NULL)
return (ENODEV);
for (i = 0; i < vo->vo_numlevels; i++)
@@ -624,7 +637,7 @@ acpi_video_vo_active_sysctl(SYSCTL_HANDL
vo = (struct acpi_video_output *)arg1;
if (vo->handle == NULL)
return (ENXIO);
- ACPI_SERIAL_BEGIN(video);
+ ACPI_SERIAL_BEGIN(video_output);
state = (vo_get_device_status(vo->handle) & DCS_ACTIVE) ? 1 : 0;
err = sysctl_handle_int(oidp, &state, 0, req);
if (err != 0 || req->newptr == NULL)
@@ -632,7 +645,7 @@ acpi_video_vo_active_sysctl(SYSCTL_HANDL
vo_set_device_state(vo->handle,
DSS_COMMIT | (state ? DSS_ACTIVE : DSS_INACTIVE));
out:
- ACPI_SERIAL_END(video);
+ ACPI_SERIAL_END(video_output);
return (err);
}
@@ -644,7 +657,7 @@ acpi_video_vo_bright_sysctl(SYSCTL_HANDL
int level, preset, err;
vo = (struct acpi_video_output *)arg1;
- ACPI_SERIAL_BEGIN(video);
+ ACPI_SERIAL_BEGIN(video_output);
if (vo->handle == NULL) {
err = ENXIO;
goto out;
@@ -674,7 +687,7 @@ acpi_video_vo_bright_sysctl(SYSCTL_HANDL
vo_set_brightness(vo->handle, (level == -1) ? preset : level);
out:
- ACPI_SERIAL_END(video);
+ ACPI_SERIAL_END(video_output);
return (err);
}
@@ -686,7 +699,7 @@ acpi_video_vo_presets_sysctl(SYSCTL_HAND
err = 0;
vo = (struct acpi_video_output *)arg1;
- ACPI_SERIAL_BEGIN(video);
+ ACPI_SERIAL_BEGIN(video_output);
if (vo->handle == NULL) {
err = ENXIO;
goto out;
@@ -717,7 +730,7 @@ acpi_video_vo_presets_sysctl(SYSCTL_HAND
*preset = level;
out:
- ACPI_SERIAL_END(video);
+ ACPI_SERIAL_END(video_output);
return (err);
}
@@ -729,7 +742,7 @@ acpi_video_vo_levels_sysctl(SYSCTL_HANDL
int err;
vo = (struct acpi_video_output *)arg1;
- ACPI_SERIAL_BEGIN(video);
+ ACPI_SERIAL_BEGIN(video_output);
if (vo->vo_levels == NULL) {
err = ENODEV;
goto out;
@@ -742,7 +755,7 @@ acpi_video_vo_levels_sysctl(SYSCTL_HANDL
vo->vo_numlevels * sizeof(*vo->vo_levels), req);
out:
- ACPI_SERIAL_END(video);
+ ACPI_SERIAL_END(video_output);
return (err);
}
@@ -892,6 +905,7 @@ vo_set_brightness(ACPI_HANDLE handle, in
{
ACPI_STATUS status;
+ ACPI_SERIAL_ASSERT(video_output);
status = acpi_SetInteger(handle, "_BCM", level);
if (ACPI_FAILURE(status))
printf("can't evaluate %s._BCM - %s\n",
@@ -904,6 +918,7 @@ vo_get_device_status(ACPI_HANDLE handle)
UINT32 dcs;
ACPI_STATUS status;
+ ACPI_SERIAL_ASSERT(video_output);
dcs = 0;
status = acpi_GetInteger(handle, "_DCS", &dcs);
if (ACPI_FAILURE(status))
@@ -933,6 +948,7 @@ vo_set_device_state(ACPI_HANDLE handle,
{
ACPI_STATUS status;
+ ACPI_SERIAL_ASSERT(video_output);
status = acpi_SetInteger(handle, "_DSS", state);
if (ACPI_FAILURE(status))
printf("can't evaluate %s._DSS - %s\n",
Modified: projects/sbruno_firewire/sys/dev/ae/if_ae.c
==============================================================================
--- projects/sbruno_firewire/sys/dev/ae/if_ae.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/dev/ae/if_ae.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -2077,7 +2077,7 @@ ae_rxfilter(ae_softc_t *sc)
TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) {
if (ifma->ifma_addr->sa_family != AF_LINK)
continue;
- crc = ether_crc32_le(LLADDR((struct sockaddr_dl *)
+ crc = ether_crc32_be(LLADDR((struct sockaddr_dl *)
ifma->ifma_addr), ETHER_ADDR_LEN);
mchash[crc >> 31] |= 1 << ((crc >> 26) & 0x1f);
}
Modified: projects/sbruno_firewire/sys/dev/age/if_age.c
==============================================================================
--- projects/sbruno_firewire/sys/dev/age/if_age.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/dev/age/if_age.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -3135,7 +3135,7 @@ age_rxfilter(struct age_softc *sc)
TAILQ_FOREACH(ifma, &sc->age_ifp->if_multiaddrs, ifma_link) {
if (ifma->ifma_addr->sa_family != AF_LINK)
continue;
- crc = ether_crc32_le(LLADDR((struct sockaddr_dl *)
+ crc = ether_crc32_be(LLADDR((struct sockaddr_dl *)
ifma->ifma_addr), ETHER_ADDR_LEN);
mchash[crc >> 31] |= 1 << ((crc >> 26) & 0x1f);
}
Modified: projects/sbruno_firewire/sys/dev/alc/if_alc.c
==============================================================================
--- projects/sbruno_firewire/sys/dev/alc/if_alc.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/dev/alc/if_alc.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -3476,7 +3476,7 @@ alc_rxfilter(struct alc_softc *sc)
TAILQ_FOREACH(ifma, &sc->alc_ifp->if_multiaddrs, ifma_link) {
if (ifma->ifma_addr->sa_family != AF_LINK)
continue;
- crc = ether_crc32_le(LLADDR((struct sockaddr_dl *)
+ crc = ether_crc32_be(LLADDR((struct sockaddr_dl *)
ifma->ifma_addr), ETHER_ADDR_LEN);
mchash[crc >> 31] |= 1 << ((crc >> 26) & 0x1f);
}
Modified: projects/sbruno_firewire/sys/dev/ale/if_ale.c
==============================================================================
--- projects/sbruno_firewire/sys/dev/ale/if_ale.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/dev/ale/if_ale.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -3060,7 +3060,7 @@ ale_rxfilter(struct ale_softc *sc)
TAILQ_FOREACH(ifma, &sc->ale_ifp->if_multiaddrs, ifma_link) {
if (ifma->ifma_addr->sa_family != AF_LINK)
continue;
- crc = ether_crc32_le(LLADDR((struct sockaddr_dl *)
+ crc = ether_crc32_be(LLADDR((struct sockaddr_dl *)
ifma->ifma_addr), ETHER_ADDR_LEN);
mchash[crc >> 31] |= 1 << ((crc >> 26) & 0x1f);
}
Modified: projects/sbruno_firewire/sys/dev/if_ndis/if_ndis.c
==============================================================================
--- projects/sbruno_firewire/sys/dev/if_ndis/if_ndis.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/dev/if_ndis/if_ndis.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -1534,7 +1534,7 @@ ndis_inputtask(dobj, arg)
if (m == NULL)
break;
KeReleaseSpinLock(&sc->ndis_rxlock, irql);
- if (sc->ndis_80211)
+ if ((sc->ndis_80211 != 0) && (vap != NULL))
vap->iv_deliver_data(vap, vap->iv_bss, m);
else
(*ifp->if_input)(ifp, m);
@@ -1746,7 +1746,7 @@ ndis_ticktask(d, xsc)
sc->ndis_sts == NDIS_STATUS_MEDIA_CONNECT) {
sc->ndis_link = 1;
NDIS_UNLOCK(sc);
- if (sc->ndis_80211) {
+ if ((sc->ndis_80211 != 0) && (vap != NULL)) {
ndis_getstate_80211(sc);
ieee80211_new_state(vap, IEEE80211_S_RUN, -1);
}
@@ -1758,7 +1758,7 @@ ndis_ticktask(d, xsc)
sc->ndis_sts == NDIS_STATUS_MEDIA_DISCONNECT) {
sc->ndis_link = 0;
NDIS_UNLOCK(sc);
- if (sc->ndis_80211)
+ if ((sc->ndis_80211 != 0) && (vap != NULL))
ieee80211_new_state(vap, IEEE80211_S_SCAN, 0);
NDIS_LOCK(sc);
if_link_state_change(sc->ifp, LINK_STATE_DOWN);
@@ -2047,9 +2047,6 @@ ndis_init(xsc)
/* Setup task offload. */
ndis_set_offload(sc);
- if (sc->ndis_80211)
- ndis_setstate_80211(sc);
-
NDIS_LOCK(sc);
sc->ndis_txidx = 0;
@@ -2297,8 +2294,6 @@ ndis_setstate_80211(sc)
ifp = sc->ifp;
ic = ifp->if_l2com;
vap = TAILQ_FIRST(&ic->ic_vaps);
- if (vap == NULL)
- return;
if (!NDIS_INITIALIZED(sc)) {
DPRINTF(("%s: NDIS not initialized\n", __func__));
@@ -2730,8 +2725,6 @@ ndis_getstate_80211(sc)
ifp = sc->ifp;
ic = ifp->if_l2com;
vap = TAILQ_FIRST(&ic->ic_vaps);
- if (vap == NULL)
- return;
ni = vap->iv_bss;
if (!NDIS_INITIALIZED(sc))
Modified: projects/sbruno_firewire/sys/dev/mxge/if_mxge.c
==============================================================================
--- projects/sbruno_firewire/sys/dev/mxge/if_mxge.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/dev/mxge/if_mxge.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -3701,10 +3701,16 @@ mxge_setup_cfg_space(mxge_softc_t *sc)
if (pci_find_extcap(dev, PCIY_EXPRESS, ®) == 0) {
lnk = pci_read_config(dev, reg + 0x12, 2);
sc->link_width = (lnk >> 4) & 0x3f;
-
- pectl = pci_read_config(dev, reg + 0x8, 2);
- pectl = (pectl & ~0x7000) | (5 << 12);
- pci_write_config(dev, reg + 0x8, pectl, 2);
+
+ if (sc->pectl == 0) {
+ pectl = pci_read_config(dev, reg + 0x8, 2);
+ pectl = (pectl & ~0x7000) | (5 << 12);
+ pci_write_config(dev, reg + 0x8, pectl, 2);
+ sc->pectl = pectl;
+ } else {
+ /* restore saved pectl after watchdog reset */
+ pci_write_config(dev, reg + 0x8, sc->pectl, 2);
+ }
}
/* Enable DMA and Memory space access */
@@ -3816,6 +3822,9 @@ mxge_watchdog_reset(mxge_softc_t *sc, in
/* release all TX locks */
for (s = 0; s < num_tx_slices; s++) {
ss = &sc->ss[s];
+#ifdef IFNET_BUF_RING
+ mxge_start_locked(ss);
+#endif
mtx_unlock(&ss->tx.mtx);
}
}
Modified: projects/sbruno_firewire/sys/dev/mxge/if_mxge_var.h
==============================================================================
--- projects/sbruno_firewire/sys/dev/mxge/if_mxge_var.h Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/dev/mxge/if_mxge_var.h Thu Oct 1 16:25:35 2009 (r197678)
@@ -274,6 +274,7 @@ struct mxge_softc {
struct sysctl_ctx_list slice_sysctl_ctx;
char *mac_addr_string;
uint8_t mac_addr[6]; /* eeprom mac address */
+ uint16_t pectl; /* save PCIe CTL state */
char product_code_string[64];
char serial_number_string[64];
char cmd_mtx_name[16];
Modified: projects/sbruno_firewire/sys/dev/sound/pci/hda/hdac.c
==============================================================================
--- projects/sbruno_firewire/sys/dev/sound/pci/hda/hdac.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/dev/sound/pci/hda/hdac.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -622,6 +622,7 @@ static const struct {
#define HDA_CODEC_ALC882 HDA_CODEC_CONSTRUCT(REALTEK, 0x0882)
#define HDA_CODEC_ALC883 HDA_CODEC_CONSTRUCT(REALTEK, 0x0883)
#define HDA_CODEC_ALC885 HDA_CODEC_CONSTRUCT(REALTEK, 0x0885)
+#define HDA_CODEC_ALC887 HDA_CODEC_CONSTRUCT(REALTEK, 0x0887)
#define HDA_CODEC_ALC888 HDA_CODEC_CONSTRUCT(REALTEK, 0x0888)
#define HDA_CODEC_ALC889 HDA_CODEC_CONSTRUCT(REALTEK, 0x0889)
#define HDA_CODEC_ALCXXXX HDA_CODEC_CONSTRUCT(REALTEK, 0xffff)
@@ -807,6 +808,7 @@ static const struct {
{ HDA_CODEC_ALC882, "Realtek ALC882" },
{ HDA_CODEC_ALC883, "Realtek ALC883" },
{ HDA_CODEC_ALC885, "Realtek ALC885" },
+ { HDA_CODEC_ALC887, "Realtek ALC887" },
{ HDA_CODEC_ALC888, "Realtek ALC888" },
{ HDA_CODEC_ALC889, "Realtek ALC889" },
{ HDA_CODEC_AD1882, "Analog Devices AD1882" },
@@ -6568,7 +6570,7 @@ hdac_create_pcms(struct hdac_devinfo *de
continue;
for (j = 0; j < devinfo->function.audio.num_devs; j++) {
if (devinfo->function.audio.devs[j].digital != 255 &&
- (!devinfo->function.audio.devs[j].digital) ==
+ (!devinfo->function.audio.devs[j].digital) !=
(!as[i].digital))
continue;
if (as[i].dir == HDA_CTL_IN) {
Modified: projects/sbruno_firewire/sys/fs/nfs/nfs_commonacl.c
==============================================================================
--- projects/sbruno_firewire/sys/fs/nfs/nfs_commonacl.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/fs/nfs/nfs_commonacl.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -695,7 +695,7 @@ nfsrv_setacl(vnode_t vp, NFSACL_T *aclp,
if (nfsrv_useacl == 0 || !NFSHASNFS4ACL(vnode_mount(vp)))
return (NFSERR_ATTRNOTSUPP);
/*
- * With NFS4 ACLs, chmod(2) may need to add additional entries.
+ * With NFSv4 ACLs, chmod(2) may need to add additional entries.
* Make sure it has enough room for that - splitting every entry
* into two and appending "canonical six" entries at the end.
* Cribbed out of kern/vfs_acl.c - Rick M.
Modified: projects/sbruno_firewire/sys/i386/conf/GENERIC
==============================================================================
--- projects/sbruno_firewire/sys/i386/conf/GENERIC Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/i386/conf/GENERIC Thu Oct 1 16:25:35 2009 (r197678)
@@ -269,7 +269,7 @@ device xe # Xircom pccard Ethernet
device wlan # 802.11 support
options IEEE80211_DEBUG # enable debug msgs
options IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
-options IEEE80211_SUPPORT_MESH # enable 802.11s D3.0 support
+options IEEE80211_SUPPORT_MESH # enable 802.11s draft support
device wlan_wep # 802.11 WEP support
device wlan_ccmp # 802.11 CCMP support
device wlan_tkip # 802.11 TKIP support
Modified: projects/sbruno_firewire/sys/i386/i386/initcpu.c
==============================================================================
--- projects/sbruno_firewire/sys/i386/i386/initcpu.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/i386/i386/initcpu.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -717,6 +717,12 @@ initializecpu(void)
*/
if ((cpu_feature & CPUID_CLFSH) != 0)
cpu_clflush_line_size = ((cpu_procinfo >> 8) & 0xff) * 8;
+ /*
+ * XXXKIB: (temporary) hack to work around traps generated when
+ * CLFLUSHing APIC registers window.
+ */
+ if (cpu_vendor_id == CPU_VENDOR_INTEL && !(cpu_feature & CPUID_SS))
+ cpu_feature &= ~CPUID_CLFSH;
#if defined(PC98) && !defined(CPU_UPGRADE_HW_CACHE)
/*
Modified: projects/sbruno_firewire/sys/i386/include/cpufunc.h
==============================================================================
--- projects/sbruno_firewire/sys/i386/include/cpufunc.h Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/i386/include/cpufunc.h Thu Oct 1 16:25:35 2009 (r197678)
@@ -132,14 +132,14 @@ enable_intr(void)
#endif
}
-static inline void
+static __inline void
cpu_monitor(const void *addr, int extensions, int hints)
{
__asm __volatile("monitor;"
: :"a" (addr), "c" (extensions), "d"(hints));
}
-static inline void
+static __inline void
cpu_mwait(int extensions, int hints)
{
__asm __volatile("mwait;" : :"a" (hints), "c" (extensions));
Modified: projects/sbruno_firewire/sys/kern/init_main.c
==============================================================================
--- projects/sbruno_firewire/sys/kern/init_main.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/kern/init_main.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -284,15 +284,28 @@ restart:
***************************************************************************
*/
static void
-print_caddr_t(void *data __unused)
+print_caddr_t(void *data)
{
printf("%s", (char *)data);
}
+
+static void
+print_version(void *data __unused)
+{
+ int len;
+
+ /* Strip a trailing newline from version. */
+ len = strlen(version);
+ while (len > 0 && version[len - 1] == '\n')
+ len--;
+ printf("%.*s %s\n", len, version, machine);
+}
+
SYSINIT(announce, SI_SUB_COPYRIGHT, SI_ORDER_FIRST, print_caddr_t,
copyright);
SYSINIT(trademark, SI_SUB_COPYRIGHT, SI_ORDER_SECOND, print_caddr_t,
trademark);
-SYSINIT(version, SI_SUB_COPYRIGHT, SI_ORDER_THIRD, print_caddr_t, version);
+SYSINIT(version, SI_SUB_COPYRIGHT, SI_ORDER_THIRD, print_version, NULL);
#ifdef WITNESS
static char wit_warn[] =
Modified: projects/sbruno_firewire/sys/kern/init_sysent.c
==============================================================================
--- projects/sbruno_firewire/sys/kern/init_sysent.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/kern/init_sysent.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/kern/syscalls.master 195458 2009-07-08 15:23:18Z trasz
+ * created from FreeBSD: head/sys/kern/syscalls.master 197636 2009-09-30 08:46:01Z rwatson
*/
#include "opt_compat.h"
@@ -548,4 +548,12 @@ struct sysent sysent[] = {
{ AS(msgctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 511 = msgctl */
{ AS(shmctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 512 = shmctl */
{ AS(lpathconf_args), (sy_call_t *)lpathconf, AUE_LPATHCONF, NULL, 0, 0, 0 }, /* 513 = lpathconf */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 514 = cap_new */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 515 = cap_getrights */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 516 = cap_enter */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 517 = cap_getmode */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 518 = pdfork */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 519 = pdkill */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 520 = pdgetpid */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 521 = pdwait */
};
Modified: projects/sbruno_firewire/sys/kern/kern_rwlock.c
==============================================================================
--- projects/sbruno_firewire/sys/kern/kern_rwlock.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/kern/kern_rwlock.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -541,7 +541,7 @@ _rw_runlock(struct rwlock *rw, const cha
*/
x = rw->rw_lock;
if (RW_READERS(x) > 1) {
- if (atomic_cmpset_ptr(&rw->rw_lock, x,
+ if (atomic_cmpset_rel_ptr(&rw->rw_lock, x,
x - RW_ONE_READER)) {
if (LOCK_LOG_TEST(&rw->lock_object, 0))
CTR4(KTR_LOCK,
@@ -559,7 +559,8 @@ _rw_runlock(struct rwlock *rw, const cha
if (!(x & RW_LOCK_WAITERS)) {
MPASS((x & ~RW_LOCK_WRITE_SPINNER) ==
RW_READERS_LOCK(1));
- if (atomic_cmpset_ptr(&rw->rw_lock, x, RW_UNLOCKED)) {
+ if (atomic_cmpset_rel_ptr(&rw->rw_lock, x,
+ RW_UNLOCKED)) {
if (LOCK_LOG_TEST(&rw->lock_object, 0))
CTR2(KTR_LOCK, "%s: %p last succeeded",
__func__, rw);
@@ -597,7 +598,7 @@ _rw_runlock(struct rwlock *rw, const cha
x |= (v & RW_LOCK_READ_WAITERS);
} else
queue = TS_SHARED_QUEUE;
- if (!atomic_cmpset_ptr(&rw->rw_lock, RW_READERS_LOCK(1) | v,
+ if (!atomic_cmpset_rel_ptr(&rw->rw_lock, RW_READERS_LOCK(1) | v,
x)) {
turnstile_chain_unlock(&rw->lock_object);
continue;
Modified: projects/sbruno_firewire/sys/kern/kern_sig.c
==============================================================================
--- projects/sbruno_firewire/sys/kern/kern_sig.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/kern/kern_sig.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -1892,7 +1892,7 @@ sigtd(struct proc *p, int sig, int prop)
/*
* Check if current thread can handle the signal without
- * switching conetxt to another thread.
+ * switching context to another thread.
*/
if (curproc == p && !SIGISMEMBER(curthread->td_sigmask, sig))
return (curthread);
Modified: projects/sbruno_firewire/sys/kern/kern_sx.c
==============================================================================
--- projects/sbruno_firewire/sys/kern/kern_sx.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/kern/kern_sx.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -931,7 +931,7 @@ _sx_sunlock_hard(struct sx *sx, const ch
* so, just drop one and return.
*/
if (SX_SHARERS(x) > 1) {
- if (atomic_cmpset_ptr(&sx->sx_lock, x,
+ if (atomic_cmpset_rel_ptr(&sx->sx_lock, x,
x - SX_ONE_SHARER)) {
if (LOCK_LOG_TEST(&sx->lock_object, 0))
CTR4(KTR_LOCK,
@@ -949,8 +949,8 @@ _sx_sunlock_hard(struct sx *sx, const ch
*/
if (!(x & SX_LOCK_EXCLUSIVE_WAITERS)) {
MPASS(x == SX_SHARERS_LOCK(1));
- if (atomic_cmpset_ptr(&sx->sx_lock, SX_SHARERS_LOCK(1),
- SX_LOCK_UNLOCKED)) {
+ if (atomic_cmpset_rel_ptr(&sx->sx_lock,
+ SX_SHARERS_LOCK(1), SX_LOCK_UNLOCKED)) {
if (LOCK_LOG_TEST(&sx->lock_object, 0))
CTR2(KTR_LOCK, "%s: %p last succeeded",
__func__, sx);
@@ -973,7 +973,7 @@ _sx_sunlock_hard(struct sx *sx, const ch
* Note that the state of the lock could have changed,
* so if it fails loop back and retry.
*/
- if (!atomic_cmpset_ptr(&sx->sx_lock,
+ if (!atomic_cmpset_rel_ptr(&sx->sx_lock,
SX_SHARERS_LOCK(1) | SX_LOCK_EXCLUSIVE_WAITERS,
SX_LOCK_UNLOCKED)) {
sleepq_release(&sx->lock_object);
Modified: projects/sbruno_firewire/sys/kern/syscalls.c
==============================================================================
--- projects/sbruno_firewire/sys/kern/syscalls.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/kern/syscalls.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/kern/syscalls.master 195458 2009-07-08 15:23:18Z trasz
+ * created from FreeBSD: head/sys/kern/syscalls.master 197636 2009-09-30 08:46:01Z rwatson
*/
const char *syscallnames[] = {
@@ -521,4 +521,12 @@ const char *syscallnames[] = {
"msgctl", /* 511 = msgctl */
"shmctl", /* 512 = shmctl */
"lpathconf", /* 513 = lpathconf */
+ "#514", /* 514 = cap_new */
+ "#515", /* 515 = cap_getrights */
+ "#516", /* 516 = cap_enter */
+ "#517", /* 517 = cap_getmode */
+ "#518", /* 518 = pdfork */
+ "#519", /* 519 = pdkill */
+ "#520", /* 520 = pdgetpid */
+ "#521", /* 521 = pdwait */
};
Modified: projects/sbruno_firewire/sys/kern/syscalls.master
==============================================================================
--- projects/sbruno_firewire/sys/kern/syscalls.master Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/kern/syscalls.master Thu Oct 1 16:25:35 2009 (r197678)
@@ -911,5 +911,13 @@
512 AUE_SHMCTL NOSTD { int shmctl(int shmid, int cmd, \
struct shmid_ds *buf); }
513 AUE_LPATHCONF STD { int lpathconf(char *path, int name); }
+514 AUE_CAP_NEW UNIMPL cap_new
+515 AUE_CAP_GETRIGHTS UNIMPL cap_getrights
+516 AUE_CAP_ENTER UNIMPL cap_enter
+517 AUE_CAP_GETMODE UNIMPL cap_getmode
+518 AUE_PDFORK UNIMPL pdfork
+519 AUE_PDKILL UNIMPL pdkill
+520 AUE_PDGETPID UNIMPL pdgetpid
+521 AUE_PDWAIT UNIMPL pdwait
; Please copy any additions and changes to the following compatability tables:
; sys/compat/freebsd32/syscalls.master
Modified: projects/sbruno_firewire/sys/kern/uipc_syscalls.c
==============================================================================
--- projects/sbruno_firewire/sys/kern/uipc_syscalls.c Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/kern/uipc_syscalls.c Thu Oct 1 16:25:35 2009 (r197678)
@@ -2086,9 +2086,11 @@ retry_space:
/*
* Get the page from backing store.
*/
- bsize = vp->v_mount->mnt_stat.f_iosize;
vfslocked = VFS_LOCK_GIANT(vp->v_mount);
- vn_lock(vp, LK_SHARED | LK_RETRY);
+ error = vn_lock(vp, LK_SHARED);
+ if (error != 0)
+ goto after_read;
+ bsize = vp->v_mount->mnt_stat.f_iosize;
/*
* XXXMAC: Because we don't have fp->f_cred
@@ -2101,6 +2103,7 @@ retry_space:
IO_VMIO | ((MAXBSIZE / bsize) << IO_SEQSHIFT),
td->td_ucred, NOCRED, &resid, td);
VOP_UNLOCK(vp, 0);
+ after_read:
VFS_UNLOCK_GIANT(vfslocked);
VM_OBJECT_LOCK(obj);
vm_page_io_finish(pg);
Modified: projects/sbruno_firewire/sys/pc98/conf/GENERIC
==============================================================================
--- projects/sbruno_firewire/sys/pc98/conf/GENERIC Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/pc98/conf/GENERIC Thu Oct 1 16:25:35 2009 (r197678)
@@ -223,7 +223,7 @@ device xe # Xircom pccard Ethernet
#device wlan # 802.11 support
#options IEEE80211_DEBUG # enable debug msgs
#options IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
-#options IEEE80211_SUPPORT_MESH # enable 802.11s D3.0 support
+#options IEEE80211_SUPPORT_MESH # enable 802.11s draft support
#device wlan_wep # 802.11 WEP support
#device wlan_ccmp # 802.11 CCMP support
#device wlan_tkip # 802.11 TKIP support
Modified: projects/sbruno_firewire/sys/sys/rwlock.h
==============================================================================
--- projects/sbruno_firewire/sys/sys/rwlock.h Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/sys/rwlock.h Thu Oct 1 16:25:35 2009 (r197678)
@@ -55,13 +55,6 @@
*
* When the lock is not locked by any thread, it is encoded as a read lock
* with zero waiters.
- *
- * A note about memory barriers. Write locks need to use the same memory
- * barriers as mutexes: _acq when acquiring a write lock and _rel when
- * releasing a write lock. Read locks also need to use an _acq barrier when
- * acquiring a read lock. However, since read locks do not update any
- * locked data (modulo bugs of course), no memory barrier is needed when
- * releasing a read lock.
*/
#define RW_LOCK_READ 0x01
Modified: projects/sbruno_firewire/sys/sys/sx.h
==============================================================================
--- projects/sbruno_firewire/sys/sys/sx.h Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/sys/sx.h Thu Oct 1 16:25:35 2009 (r197678)
@@ -63,13 +63,6 @@
*
* When the lock is not locked by any thread, it is encoded as a
* shared lock with zero waiters.
- *
- * A note about memory barriers. Exclusive locks need to use the same
- * memory barriers as mutexes: _acq when acquiring an exclusive lock
- * and _rel when releasing an exclusive lock. On the other side,
- * shared lock needs to use an _acq barrier when acquiring the lock
- * but, since they don't update any locked data, no memory barrier is
- * needed when releasing a shared lock.
*/
#define SX_LOCK_SHARED 0x01
@@ -200,7 +193,7 @@ __sx_sunlock(struct sx *sx, const char *
uintptr_t x = sx->sx_lock;
if (x == (SX_SHARERS_LOCK(1) | SX_LOCK_EXCLUSIVE_WAITERS) ||
- !atomic_cmpset_ptr(&sx->sx_lock, x, x - SX_ONE_SHARER))
+ !atomic_cmpset_rel_ptr(&sx->sx_lock, x, x - SX_ONE_SHARER))
_sx_sunlock_hard(sx, file, line);
}
Modified: projects/sbruno_firewire/sys/sys/syscall.h
==============================================================================
--- projects/sbruno_firewire/sys/sys/syscall.h Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/sys/syscall.h Thu Oct 1 16:25:35 2009 (r197678)
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/kern/syscalls.master 195458 2009-07-08 15:23:18Z trasz
+ * created from FreeBSD: head/sys/kern/syscalls.master 197636 2009-09-30 08:46:01Z rwatson
*/
#define SYS_syscall 0
@@ -428,4 +428,4 @@
#define SYS_msgctl 511
#define SYS_shmctl 512
#define SYS_lpathconf 513
-#define SYS_MAXSYSCALL 514
+#define SYS_MAXSYSCALL 522
Modified: projects/sbruno_firewire/sys/sys/syscall.mk
==============================================================================
--- projects/sbruno_firewire/sys/sys/syscall.mk Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/sys/syscall.mk Thu Oct 1 16:25:35 2009 (r197678)
@@ -1,7 +1,7 @@
# FreeBSD system call names.
# DO NOT EDIT-- this file is automatically generated.
# $FreeBSD$
-# created from FreeBSD: head/sys/kern/syscalls.master 195458 2009-07-08 15:23:18Z trasz
+# created from FreeBSD: head/sys/kern/syscalls.master 197636 2009-09-30 08:46:01Z rwatson
MIASM = \
syscall.o \
exit.o \
Modified: projects/sbruno_firewire/sys/sys/sysproto.h
==============================================================================
--- projects/sbruno_firewire/sys/sys/sysproto.h Thu Oct 1 16:17:44 2009 (r197677)
+++ projects/sbruno_firewire/sys/sys/sysproto.h Thu Oct 1 16:25:35 2009 (r197678)
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/kern/syscalls.master 195458 2009-07-08 15:23:18Z trasz
+ * created from FreeBSD: head/sys/kern/syscalls.master 197636 2009-09-30 08:46:01Z rwatson
*/
#ifndef _SYS_SYSPROTO_H_
@@ -2233,21 +2233,13 @@ int freebsd4_sigreturn(struct thread *,
#endif /* COMPAT_FREEBSD4 */
-#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5)
+#ifdef COMPAT_FREEBSD6
-#endif /* COMPAT_FREEBSD[45] */
+#endif /* COMPAT_FREEBSD6 */
-#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \
- defined(COMPAT_FREEBSD6)
-
-
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list