PERFORCE change 107052 for review
Robert Watson
rwatson at FreeBSD.org
Sun Oct 1 10:12:16 PDT 2006
http://perforce.freebsd.org/chv.cgi?CH=107052
Change 107052 by rwatson at rwatson_peppercorn on 2006/10/01 17:11:30
Integrate TrustedBSD priv branch.
Affected files ...
.. //depot/projects/trustedbsd/priv/sys/amd64/amd64/local_apic.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/amd64/amd64/mp_machdep.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/amd64/amd64/nexus.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/amd64/amd64/vm_machdep.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/cam/cam_xpt.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_da.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_proto.h#4 integrate
.. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_syscall.h#4 integrate
.. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_syscalls.c#4 integrate
.. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_sysent.c#4 integrate
.. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/syscalls.master#4 integrate
.. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_emul.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_file.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_misc.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/contrib/pf/net/pf.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/crypto/via/padlock_cipher.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/acpica/acpi.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/ata/ata-all.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/ata/ata-chipset.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/ata/ata-disk.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/ata/ata-pci.h#3 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/ata/ata-raid.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/ata/ata-usb.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/bce/if_bce.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/bge/if_bge.c#4 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/bktr/bktr_i2c.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/cs/if_cs.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/cs/if_csvar.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/dc/if_dc.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/dc/if_dcreg.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/de/if_de.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/de/if_devar.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/em/if_em.c#4 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/en/if_en_pci.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/en/midway.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/hwpmc/hwpmc_mod.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/ichsmb/ichsmb.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/iicbus/iicsmb.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/ixgb/if_ixgb.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/lge/if_lge.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/lge/if_lgereg.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/mxge/eth_z8e.dat.gz.uu#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/mxge/ethp_z8e.dat.gz.uu#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/mxge/if_mxge.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/mxge/if_mxge_var.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/mxge/mxge_mcp.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/my/if_my.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/my/if_myreg.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/nfe/if_nfe.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/nfe/if_nfereg.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/nge/if_nge.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/nge/if_ngereg.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/re/if_re.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/sio/sio_pccard.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/smbus/smb.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/smbus/smb.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/smbus/smbconf.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/smbus/smbconf.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/smbus/smbus.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/smbus/smbus.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/smbus/smbus_if.m#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/stge/if_stge.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/syscons/scmouse.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/syscons/syscons.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/syscons/syscons.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/ti/if_ti.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/txp/if_txp.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/usb/usb_subr.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/dev/vge/if_vge.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/fs/udf/osta.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/geom/eli/g_eli.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/geom/eli/g_eli_ctl.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/geom/geom.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/geom/geom_event.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/geom/geom_subr.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/geom/label/g_label_ufs.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/geom/mirror/g_mirror.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/geom/raid3/g_raid3.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/geom/raid3/g_raid3_ctl.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/i386/conf/NOTES#2 integrate
.. //depot/projects/trustedbsd/priv/sys/i386/i386/busdma_machdep.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/i386/i386/local_apic.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/i386/i386/mp_machdep.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/i386/i386/nexus.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/ia64/ia32/ia32_trap.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/ia64/ia64/trap.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/kern/bus_if.m#3 integrate
.. //depot/projects/trustedbsd/priv/sys/kern/init_sysent.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/kern/kern_acct.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/kern/kern_exit.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/kern/kern_jail.c#7 integrate
.. //depot/projects/trustedbsd/priv/sys/kern/kern_mbuf.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/kern/kern_prot.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/kern/subr_bus.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/kern/subr_prf.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/kern/subr_rman.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/kern/subr_witness.c#4 integrate
.. //depot/projects/trustedbsd/priv/sys/kern/syscalls.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/kern/syscalls.master#3 integrate
.. //depot/projects/trustedbsd/priv/sys/kern/systrace_args.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/kern/tty.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/kern/uipc_socket.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/kern/vfs_lookup.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/kern/vfs_syscalls.c#4 integrate
.. //depot/projects/trustedbsd/priv/sys/modules/Makefile#5 integrate
.. //depot/projects/trustedbsd/priv/sys/modules/ipfw/Makefile#2 integrate
.. //depot/projects/trustedbsd/priv/sys/modules/pf/Makefile#2 integrate
.. //depot/projects/trustedbsd/priv/sys/net/if_bridge.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/net/if_vlan.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/net/if_vlan_var.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_input.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_output.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/netgraph/ng_eiface.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/netgraph/ng_fec.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/netgraph/ng_vlan.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/netinet/ip_fw2.c#4 integrate
.. //depot/projects/trustedbsd/priv/sys/netinet/ip_output.c#4 integrate
.. //depot/projects/trustedbsd/priv/sys/netinet/tcp_input.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/netinet/tcp_output.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/netinet/tcp_syncache.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/netinet/tcp_usrreq.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/netinet/tcp_var.h#3 integrate
.. //depot/projects/trustedbsd/priv/sys/netinet6/nd6.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/nfs4client/nfs4_vfsops.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/nfs4client/nfs4_vnops.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/nfsclient/nfs_node.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/nfsclient/nfs_subs.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/nfsclient/nfs_vfsops.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/nfsclient/nfs_vnops.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/nfsclient/nfsnode.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/alpm.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/amdpm.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/amdsmb.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/if_rl.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/if_sf.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/if_sfreg.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/if_sis.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/if_sisreg.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/if_ste.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/if_tl.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/if_tlreg.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/if_vr.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/if_vrreg.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/if_wb.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/if_wbreg.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/if_xl.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/if_xlreg.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/intpm.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/intpmreg.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/nfsmb.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/pci/viapm.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/powerpc/powerpc/trap.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/security/audit/audit.c#5 integrate
.. //depot/projects/trustedbsd/priv/sys/security/audit/audit_bsm.c#4 integrate
.. //depot/projects/trustedbsd/priv/sys/security/audit/audit_private.h#3 integrate
.. //depot/projects/trustedbsd/priv/sys/security/audit/audit_syscalls.c#4 integrate
.. //depot/projects/trustedbsd/priv/sys/security/audit/audit_worker.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/security/mac/mac_inet.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/security/mac/mac_internal.h#4 integrate
.. //depot/projects/trustedbsd/priv/sys/security/mac_biba/mac_biba.c#2 integrate
.. //depot/projects/trustedbsd/priv/sys/security/mac_lomac/mac_lomac.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/security/mac_mls/mac_mls.c#3 integrate
.. //depot/projects/trustedbsd/priv/sys/sys/bus.h#3 integrate
.. //depot/projects/trustedbsd/priv/sys/sys/mac.h#3 integrate
.. //depot/projects/trustedbsd/priv/sys/sys/mac_policy.h#3 integrate
.. //depot/projects/trustedbsd/priv/sys/sys/mbuf.h#3 integrate
.. //depot/projects/trustedbsd/priv/sys/sys/mount.h#2 integrate
.. //depot/projects/trustedbsd/priv/sys/sys/syscall.h#3 integrate
.. //depot/projects/trustedbsd/priv/sys/sys/syscall.mk#3 integrate
.. //depot/projects/trustedbsd/priv/sys/sys/sysctl.h#3 integrate
.. //depot/projects/trustedbsd/priv/sys/sys/sysproto.h#3 integrate
.. //depot/projects/trustedbsd/priv/sys/ufs/ufs/ufs_quota.c#3 integrate
Differences ...
==== //depot/projects/trustedbsd/priv/sys/amd64/amd64/local_apic.c#3 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.28 2006/09/06 22:05:34 sobomax Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.29 2006/09/11 20:12:42 jhb Exp $");
#include "opt_hwpmc_hooks.h"
@@ -794,6 +794,76 @@
}
}
}
+
+static void
+dump_mask(const char *prefix, uint32_t v, int base)
+{
+ int i, first;
+
+ first = 1;
+ for (i = 0; i < 32; i++)
+ if (v & (1 << i)) {
+ if (first) {
+ db_printf("%s:", prefix);
+ first = 0;
+ }
+ db_printf(" %02x", base + i);
+ }
+ if (!first)
+ db_printf("\n");
+}
+
+/* Show info from the lapic regs for this CPU. */
+DB_SHOW_COMMAND(lapic, db_show_lapic)
+{
+ uint32_t v;
+
+ db_printf("lapic ID = %d\n", lapic_id());
+ v = lapic->version;
+ db_printf("version = %d.%d\n", (v & APIC_VER_VERSION) >> 4,
+ v & 0xf);
+ db_printf("max LVT = %d\n", (v & APIC_VER_MAXLVT) >> MAXLVTSHIFT);
+ v = lapic->svr;
+ db_printf("SVR = %02x (%s)\n", v & APIC_SVR_VECTOR,
+ v & APIC_SVR_ENABLE ? "enabled" : "disabled");
+ db_printf("TPR = %02x\n", lapic->tpr);
+
+#define dump_field(prefix, index) \
+ dump_mask(__XSTRING(prefix ## index), lapic->prefix ## index, \
+ index * 32)
+
+ db_printf("In-service Interrupts:\n");
+ dump_field(isr, 0);
+ dump_field(isr, 1);
+ dump_field(isr, 2);
+ dump_field(isr, 3);
+ dump_field(isr, 4);
+ dump_field(isr, 5);
+ dump_field(isr, 6);
+ dump_field(isr, 7);
+
+ db_printf("TMR Interrupts:\n");
+ dump_field(tmr, 0);
+ dump_field(tmr, 1);
+ dump_field(tmr, 2);
+ dump_field(tmr, 3);
+ dump_field(tmr, 4);
+ dump_field(tmr, 5);
+ dump_field(tmr, 6);
+ dump_field(tmr, 7);
+
+ db_printf("IRR Interrupts:\n");
+ dump_field(irr, 0);
+ dump_field(irr, 1);
+ dump_field(irr, 2);
+ dump_field(irr, 3);
+ dump_field(irr, 4);
+ dump_field(irr, 5);
+ dump_field(irr, 6);
+ dump_field(irr, 7);
+
+#undef dump_field
+}
#endif
/*
==== //depot/projects/trustedbsd/priv/sys/amd64/amd64/mp_machdep.c#2 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.276 2006/05/16 14:32:16 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.277 2006/09/11 20:10:42 jhb Exp $");
#include "opt_cpu.h"
#include "opt_kstack_pages.h"
@@ -342,7 +342,10 @@
setidt(IPI_INVLTLB, IDTVEC(invltlb), SDT_SYSIGT, SEL_KPL, 0);
setidt(IPI_INVLPG, IDTVEC(invlpg), SDT_SYSIGT, SEL_KPL, 0);
setidt(IPI_INVLRNG, IDTVEC(invlrng), SDT_SYSIGT, SEL_KPL, 0);
-
+
+ /* Install an inter-CPU IPI for cache invalidation. */
+ setidt(IPI_INVLCACHE, IDTVEC(invlcache), SDT_SYSIGT, SEL_KPL, 0);
+
/* Install an inter-CPU IPI for all-CPU rendezvous */
setidt(IPI_RENDEZVOUS, IDTVEC(rendezvous), SDT_SYSIGT, SEL_KPL, 0);
==== //depot/projects/trustedbsd/priv/sys/amd64/amd64/nexus.c#2 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.68 2006/04/20 04:16:34 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.69 2006/09/11 19:31:51 jhb Exp $");
/*
* This code implements a `root nexus' for Intel Architecture
@@ -140,7 +140,7 @@
static int
nexus_probe(device_t dev)
{
- int irq, last;
+ int irq;
device_quiet(dev); /* suppress attach message for neatness */
@@ -173,18 +173,10 @@
* We search for regions of existing IRQs and add those to the IRQ
* resource manager.
*/
- last = -1;
for (irq = 0; irq < NUM_IO_INTS; irq++)
- if (intr_lookup_source(irq) != NULL) {
- if (last == -1)
- last = irq;
- } else if (last != -1) {
- if (rman_manage_region(&irq_rman, last, irq - 1) != 0)
+ if (intr_lookup_source(irq) != NULL)
+ if (rman_manage_region(&irq_rman, irq, irq) != 0)
panic("nexus_probe irq_rman add");
- last = -1;
- }
- if (last != -1 && rman_manage_region(&irq_rman, last, irq - 1) != 0)
- panic("nexus_probe irq_rman add");
/*
* ISA DMA on PCI systems is implemented in the ISA part of each
==== //depot/projects/trustedbsd/priv/sys/amd64/amd64/vm_machdep.c#2 (text+ko) ====
@@ -41,10 +41,11 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.251 2006/07/24 12:24:56 davidxu Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.252 2006/09/17 14:54:14 davidxu Exp $");
#include "opt_isa.h"
#include "opt_cpu.h"
+#include "opt_compat.h"
#include <sys/param.h>
#include <sys/systm.h>
@@ -69,6 +70,7 @@
#include <machine/cpu.h>
#include <machine/md_var.h>
#include <machine/pcb.h>
+#include <machine/specialreg.h>
#include <vm/vm.h>
#include <vm/vm_extern.h>
@@ -79,6 +81,12 @@
#include <amd64/isa/isa.h>
+#ifdef COMPAT_IA32
+
+extern struct sysentvec ia32_freebsd_sysvec;
+
+#endif
+
static void cpu_reset_real(void);
#ifdef SMP
static void cpu_reset_proxy(void);
@@ -320,6 +328,28 @@
*/
cpu_thread_clean(td);
+#ifdef COMPAT_IA32
+ if (td->td_proc->p_sysent == &ia32_freebsd_sysvec) {
+ /*
+ * Set the trap frame to point at the beginning of the uts
+ * function.
+ */
+ td->td_frame->tf_rbp = 0;
+ td->td_frame->tf_rsp =
+ (((uintptr_t)stack->ss_sp + stack->ss_size - 4) & ~0x0f) - 4;
+ td->td_frame->tf_rip = (uintptr_t)entry;
+
+ /*
+ * Pass the address of the mailbox for this kse to the uts
+ * function as a parameter on the stack.
+ */
+ suword32((void *)(td->td_frame->tf_rsp + sizeof(int32_t)),
+ (uint32_t)(uintptr_t)arg);
+
+ return;
+ }
+#endif
+
/*
* Set the trap frame to point at the beginning of the uts
* function.
@@ -344,6 +374,19 @@
if ((u_int64_t)tls_base >= VM_MAXUSER_ADDRESS)
return (EINVAL);
+#ifdef COMPAT_IA32
+ if (td->td_proc->p_sysent == &ia32_freebsd_sysvec) {
+ if (td == curthread) {
+ critical_enter();
+ td->td_pcb->pcb_gsbase = (register_t)tls_base;
+ wrmsr(MSR_KGSBASE, td->td_pcb->pcb_gsbase);
+ critical_exit();
+ } else {
+ td->td_pcb->pcb_gsbase = (register_t)tls_base;
+ }
+ return (0);
+ }
+#endif
if (td == curthread) {
critical_enter();
td->td_pcb->pcb_fsbase = (register_t)tls_base;
==== //depot/projects/trustedbsd/priv/sys/cam/cam_xpt.c#2 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.162 2006/06/26 05:41:11 mjacob Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.165 2006/09/16 17:35:47 mjacob Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -387,9 +387,9 @@
/*quirks*/0, /*mintags*/0, /*maxtags*/0
},
{
- /* Does not support other than LUN 0 */
+ /* This does not support other than LUN 0 */
{ T_DIRECT, SIP_MEDIA_FIXED, "VMware*", "*", "*" },
- CAM_QUIRK_NOLUNS, /*mintags*/0, /*maxtags*/0
+ CAM_QUIRK_NOLUNS, /*mintags*/2, /*maxtags*/255
},
{
/*
@@ -592,6 +592,10 @@
CAM_QUIRK_NOHILUNS, /*mintags*/2, /*maxtags*/255
},
{
+ { T_ENCLOSURE, SIP_MEDIA_FIXED, "DP", "BACKPLANE", "*" },
+ CAM_QUIRK_NOLUNS, /*mintags*/0, /*maxtags*/0
+ },
+ {
/* Default tagged queuing parameters for all devices */
{
T_ANY, SIP_MEDIA_REMOVABLE|SIP_MEDIA_FIXED,
==== //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_da.c#2 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.191 2006/07/14 13:58:32 delphij Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.192 2006/09/16 21:21:07 mjacob Exp $");
#include <sys/param.h>
@@ -1519,15 +1519,30 @@
block_size = scsi_4btoul(rcaplong->length);
maxsector = scsi_8btou64(rcaplong->addr);
}
- dasetgeom(periph, block_size, maxsector);
- dp = &softc->params;
- snprintf(announce_buf, sizeof(announce_buf),
- "%juMB (%ju %u byte sectors: %dH %dS/T %dC)",
- (uintmax_t) (((uintmax_t)dp->secsize *
- dp->sectors) / (1024*1024)),
- (uintmax_t)dp->sectors,
- dp->secsize, dp->heads, dp->secs_per_track,
- dp->cylinders);
+
+ /*
+ * Because GEOM code just will panic us if we
+ * give them an 'illegal' value we'll avoid that
+ * here.
+ */
+ if (block_size >= MAXPHYS || block_size == 0) {
+ xpt_print_path(periph->path);
+ printf("unsupportable block size %ju\n",
+ (uintmax_t) block_size);
+ announce_buf[0] = '\0';
+ cam_periph_invalidate(periph);
+ } else {
+ dasetgeom(periph, block_size, maxsector);
+ dp = &softc->params;
+ snprintf(announce_buf, sizeof(announce_buf),
+ "%juMB (%ju %u byte sectors: %dH %dS/T "
+ "%dC)", (uintmax_t)
+ (((uintmax_t)dp->secsize *
+ dp->sectors) / (1024*1024)),
+ (uintmax_t)dp->sectors,
+ dp->secsize, dp->heads,
+ dp->secs_per_track, dp->cylinders);
+ }
} else {
int error;
==== //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_proto.h#4 (text+ko) ====
@@ -2,8 +2,8 @@
* System call prototypes.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.61 2006/09/09 01:22:13 davidxu Exp $
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.73 2006/09/03 16:17:49 rwatson Exp
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.62 2006/09/17 13:29:35 rwatson Exp $
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.75 2006/09/17 13:28:11 rwatson Exp
*/
#ifndef _FREEBSD32_SYSPROTO_H_
@@ -419,7 +419,7 @@
#define FREEBSD32_SYS_AUE_freebsd32_recvmsg AUE_RECVMSG
#define FREEBSD32_SYS_AUE_freebsd32_sendmsg AUE_SENDMSG
#define FREEBSD32_SYS_AUE_freebsd32_recvfrom AUE_RECVFROM
-#define FREEBSD32_SYS_AUE_freebsd32_sigaltstack AUE_SIGPENDING
+#define FREEBSD32_SYS_AUE_freebsd32_sigaltstack AUE_SIGALTSTACK
#define FREEBSD32_SYS_AUE_freebsd32_execve AUE_EXECVE
#define FREEBSD32_SYS_AUE_freebsd32_setitimer AUE_SETITIMER
#define FREEBSD32_SYS_AUE_freebsd32_getitimer AUE_GETITIMER
==== //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_syscall.h#4 (text+ko) ====
@@ -2,8 +2,8 @@
* System call numbers.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.59 2006/09/09 01:22:13 davidxu Exp $
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.73 2006/09/03 16:17:49 rwatson Exp
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.60 2006/09/17 13:29:35 rwatson Exp $
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.75 2006/09/17 13:28:11 rwatson Exp
*/
#define FREEBSD32_SYS_syscall 0
==== //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_syscalls.c#4 (text+ko) ====
@@ -2,8 +2,8 @@
* System call names.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.50 2006/09/09 01:22:13 davidxu Exp $
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.73 2006/09/03 16:17:49 rwatson Exp
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.51 2006/09/17 13:29:35 rwatson Exp $
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.75 2006/09/17 13:28:11 rwatson Exp
*/
const char *freebsd32_syscallnames[] = {
==== //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_sysent.c#4 (text+ko) ====
@@ -2,8 +2,8 @@
* System call switch table.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.60 2006/09/09 01:22:13 davidxu Exp $
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.73 2006/09/03 16:17:49 rwatson Exp
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.61 2006/09/17 13:29:35 rwatson Exp $
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.75 2006/09/17 13:28:11 rwatson Exp
*/
#include "opt_compat.h"
@@ -85,7 +85,7 @@
{ AS(setlogin_args), (sy_call_t *)setlogin, AUE_SETLOGIN, NULL, 0, 0 }, /* 50 = setlogin */
{ AS(acct_args), (sy_call_t *)acct, AUE_ACCT, NULL, 0, 0 }, /* 51 = acct */
{ compat(0,freebsd32_sigpending), AUE_SIGPENDING, NULL, 0, 0 }, /* 52 = old freebsd32_sigpending */
- { AS(freebsd32_sigaltstack_args), (sy_call_t *)freebsd32_sigaltstack, AUE_SIGPENDING, NULL, 0, 0 }, /* 53 = freebsd32_sigaltstack */
+ { AS(freebsd32_sigaltstack_args), (sy_call_t *)freebsd32_sigaltstack, AUE_SIGALTSTACK, NULL, 0, 0 }, /* 53 = freebsd32_sigaltstack */
{ AS(ioctl_args), (sy_call_t *)ioctl, AUE_IOCTL, NULL, 0, 0 }, /* 54 = ioctl */
{ AS(reboot_args), (sy_call_t *)reboot, AUE_REBOOT, NULL, 0, 0 }, /* 55 = reboot */
{ AS(revoke_args), (sy_call_t *)revoke, AUE_REVOKE, NULL, 0, 0 }, /* 56 = revoke */
==== //depot/projects/trustedbsd/priv/sys/compat/freebsd32/syscalls.master#4 (text+ko) ====
@@ -1,4 +1,4 @@
- $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.74 2006/09/09 01:22:13 davidxu Exp $
+ $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.75 2006/09/17 13:28:11 rwatson Exp $
; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94
; from: src/sys/kern/syscalls.master 1.107
;
@@ -124,7 +124,7 @@
50 AUE_SETLOGIN NOPROTO { int setlogin(char *namebuf); }
51 AUE_ACCT NOPROTO { int acct(char *path); }
52 AUE_SIGPENDING COMPAT { int freebsd32_sigpending(void); }
-53 AUE_SIGPENDING STD { int freebsd32_sigaltstack( \
+53 AUE_SIGALTSTACK STD { int freebsd32_sigaltstack( \
struct sigaltstack32 *ss, \
struct sigaltstack32 *oss); }
54 AUE_IOCTL NOPROTO { int ioctl(int fd, u_long com, \
==== //depot/projects/trustedbsd/priv/sys/compat/linux/linux_emul.c#3 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_emul.c,v 1.5 2006/08/28 13:52:27 ssouhlal Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_emul.c,v 1.6 2006/09/09 16:55:55 netchild Exp $");
#include "opt_compat.h"
@@ -101,6 +101,7 @@
panic("process not found in proc_init\n");
p->p_emuldata = em;
PROC_UNLOCK(p);
+ EMUL_LOCK(&emul_lock);
} else {
/* lookup the old one */
em = em_find(td->td_proc, EMUL_UNLOCKED);
@@ -129,14 +130,15 @@
if (child != 0) {
+ EMUL_UNLOCK(&emul_lock);
EMUL_SHARED_WLOCK(&emul_shared_lock);
LIST_INSERT_HEAD(&em->shared->threads, em, threads);
EMUL_SHARED_WUNLOCK(&emul_shared_lock);
p = pfind(child);
- PROC_UNLOCK(p);
/* we might have a sleeping linux_schedtail */
wakeup(&p->p_emuldata);
+ PROC_UNLOCK(p);
} else
EMUL_UNLOCK(&emul_lock);
==== //depot/projects/trustedbsd/priv/sys/compat/linux/linux_file.c#2 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_file.c,v 1.96 2006/07/11 20:52:07 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_file.c,v 1.97 2006/09/10 13:47:56 netchild Exp $");
#include "opt_compat.h"
#include "opt_mac.h"
@@ -45,6 +45,7 @@
#include <sys/mount.h>
#include <sys/mutex.h>
#include <sys/proc.h>
+#include <sys/stat.h>
#include <sys/syscallsubr.h>
#include <sys/sysproto.h>
#include <sys/tty.h>
@@ -495,6 +496,7 @@
{
char *path;
int error;
+ struct stat st;
LCONVPATHEXIST(td, args->path, &path);
@@ -504,6 +506,11 @@
#endif
error = kern_unlink(td, path, UIO_SYSSPACE);
+ if (error == EPERM)
+ /* Introduce POSIX noncompliant behaviour of Linux */
+ if (kern_stat(td, path, UIO_SYSSPACE, &st) == 0)
+ if (S_ISDIR(st.st_mode))
+ error = EISDIR;
LFREEPATH(path);
return (error);
}
==== //depot/projects/trustedbsd/priv/sys/compat/linux/linux_misc.c#3 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.186 2006/08/25 11:02:42 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.187 2006/09/16 14:12:04 netchild Exp $");
#include "opt_compat.h"
#include "opt_mac.h"
@@ -1301,6 +1301,13 @@
#define REBOOT_CAD_ON 0x89abcdef
#define REBOOT_CAD_OFF 0
#define REBOOT_HALT 0xcdef0123
+#define REBOOT_RESTART 0x01234567
+#define REBOOT_RESTART2 0xA1B2C3D4
+#define REBOOT_POWEROFF 0x4321FEDC
+#define REBOOT_MAGIC1 0xfee1dead
+#define REBOOT_MAGIC2 0x28121969
+#define REBOOT_MAGIC2A 0x05121996
+#define REBOOT_MAGIC2B 0x16041998
int
linux_reboot(struct thread *td, struct linux_reboot_args *args)
@@ -1311,10 +1318,37 @@
if (ldebug(reboot))
printf(ARGS(reboot, "0x%x"), args->cmd);
#endif
- if (args->cmd == REBOOT_CAD_ON || args->cmd == REBOOT_CAD_OFF)
- return (0);
- bsd_args.opt = (args->cmd == REBOOT_HALT) ? RB_HALT : 0;
- return (reboot(td, &bsd_args));
+
+ if (args->magic1 != REBOOT_MAGIC1)
+ return EINVAL;
+
+ switch (args->magic2) {
+ case REBOOT_MAGIC2:
+ case REBOOT_MAGIC2A:
+ case REBOOT_MAGIC2B:
+ break;
+ default:
+ return EINVAL;
+ }
+
+ switch (args->cmd) {
+ case REBOOT_CAD_ON:
+ case REBOOT_CAD_OFF:
+ return suser(td);
+ case REBOOT_HALT:
+ bsd_args.opt = RB_HALT;
+ break;
+ case REBOOT_RESTART:
+ case REBOOT_RESTART2:
+ bsd_args.opt = 0;
+ break;
+ case REBOOT_POWEROFF:
+ bsd_args.opt = RB_POWEROFF;
+ break;
+ default:
+ return EINVAL;
+ }
+ return reboot(td, &bsd_args);
}
==== //depot/projects/trustedbsd/priv/sys/contrib/pf/net/pf.c#2 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.40 2005/12/25 23:52:00 mlaier Exp $ */
+/* $FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.41 2006/09/12 04:25:11 csjp Exp $ */
/* $OpenBSD: pf.c,v 1.483 2005/03/15 17:38:43 dhartmei Exp $ */
/*
@@ -42,6 +42,7 @@
#endif
#ifdef __FreeBSD__
+#include "opt_mac.h"
#include "opt_bpf.h"
#include "opt_pf.h"
@@ -78,6 +79,7 @@
#include <sys/kernel.h>
#include <sys/time.h>
#ifdef __FreeBSD__
+#include <sys/mac.h>
#include <sys/sysctl.h>
#include <sys/endian.h>
#else
@@ -192,7 +194,12 @@
struct pf_addr *, struct pf_addr *, u_int16_t,
u_int16_t *, u_int16_t *, u_int16_t *,
u_int16_t *, u_int8_t, sa_family_t);
+#ifdef __FreeBSD__
+void pf_send_tcp(struct mbuf *,
+ const struct pf_rule *, sa_family_t,
+#else
void pf_send_tcp(const struct pf_rule *, sa_family_t,
+#endif
const struct pf_addr *, const struct pf_addr *,
u_int16_t, u_int16_t, u_int32_t, u_int32_t,
u_int8_t, u_int16_t, u_int16_t, u_int8_t, int,
@@ -1114,7 +1121,11 @@
cur->local_flags |= PFSTATE_EXPIRING;
#endif
if (cur->src.state == PF_TCPS_PROXY_DST)
+#ifdef __FreeBSD__
+ pf_send_tcp(NULL, cur->rule.ptr, cur->af,
+#else
pf_send_tcp(cur->rule.ptr, cur->af,
+#endif
&cur->ext.addr, &cur->lan.addr,
cur->ext.port, cur->lan.port,
cur->src.seqhi, cur->src.seqlo + 1,
@@ -1574,7 +1585,11 @@
}
void
+#ifdef __FreeBSD__
+pf_send_tcp(struct mbuf *replyto, const struct pf_rule *r, sa_family_t af,
+#else
pf_send_tcp(const struct pf_rule *r, sa_family_t af,
+#endif
const struct pf_addr *saddr, const struct pf_addr *daddr,
u_int16_t sport, u_int16_t dport, u_int32_t seq, u_int32_t ack,
u_int8_t flags, u_int16_t win, u_int16_t mss, u_int8_t ttl, int tag,
@@ -1613,6 +1628,16 @@
m = m_gethdr(M_DONTWAIT, MT_HEADER);
if (m == NULL)
return;
+#ifdef __FreeBSD__
+#ifdef MAC
+ if (replyto)
+ mac_create_mbuf_netlayer(replyto, m);
+ else
+ mac_create_mbuf_from_firewall(m);
+#else
+ (void)replyto;
+#endif
+#endif
if (tag) {
#ifdef __FreeBSD__
m->m_flags |= M_SKIP_FIREWALL;
@@ -3146,7 +3171,11 @@
ack++;
if (th->th_flags & TH_FIN)
ack++;
+#ifdef __FreeBSD__
+ pf_send_tcp(m, r, af, pd->dst,
+#else
pf_send_tcp(r, af, pd->dst,
+#endif
pd->src, th->th_dport, th->th_sport,
ntohl(th->th_ack), ack, TH_RST|TH_ACK, 0, 0,
r->return_ttl, 1, pd->eh, kif->pfik_ifp);
@@ -3347,7 +3376,11 @@
mss = pf_calc_mss(saddr, af, mss);
mss = pf_calc_mss(daddr, af, mss);
s->src.mss = mss;
+#ifdef __FreeBSD__
+ pf_send_tcp(NULL, r, af, daddr, saddr, th->th_dport,
+#else
pf_send_tcp(r, af, daddr, saddr, th->th_dport,
+#endif
th->th_sport, s->src.seqhi, ntohl(th->th_seq) + 1,
TH_SYN|TH_ACK, 0, s->src.mss, 0, 1, NULL, NULL);
REASON_SET(&reason, PFRES_SYNPROXY);
@@ -4348,7 +4381,11 @@
REASON_SET(reason, PFRES_SYNPROXY);
return (PF_DROP);
}
+#ifdef __FreeBSD__
+ pf_send_tcp(NULL, (*state)->rule.ptr, pd->af, pd->dst,
+#else
pf_send_tcp((*state)->rule.ptr, pd->af, pd->dst,
+#endif
pd->src, th->th_dport, th->th_sport,
(*state)->src.seqhi, ntohl(th->th_seq) + 1,
TH_SYN|TH_ACK, 0, (*state)->src.mss, 0, 1,
@@ -4387,7 +4424,12 @@
(*state)->src.max_win = MAX(ntohs(th->th_win), 1);
if ((*state)->dst.seqhi == 1)
(*state)->dst.seqhi = htonl(arc4random());
+#ifdef __FreeBSD__
+ pf_send_tcp(NULL, (*state)->rule.ptr, pd->af,
+ &src->addr,
+#else
pf_send_tcp((*state)->rule.ptr, pd->af, &src->addr,
+#endif
&dst->addr, src->port, dst->port,
(*state)->dst.seqhi, 0, TH_SYN, 0,
(*state)->src.mss, 0, 0, NULL, NULL);
@@ -4401,12 +4443,21 @@
} else {
(*state)->dst.max_win = MAX(ntohs(th->th_win), 1);
(*state)->dst.seqlo = ntohl(th->th_seq);
+#ifdef __FreeBSD__
+ pf_send_tcp(NULL, (*state)->rule.ptr, pd->af, pd->dst,
+#else
pf_send_tcp((*state)->rule.ptr, pd->af, pd->dst,
+#endif
pd->src, th->th_dport, th->th_sport,
ntohl(th->th_ack), ntohl(th->th_seq) + 1,
TH_ACK, (*state)->src.max_win, 0, 0, 0,
NULL, NULL);
+#ifdef __FreeBSD__
+ pf_send_tcp(NULL, (*state)->rule.ptr, pd->af,
+ &src->addr,
+#else
pf_send_tcp((*state)->rule.ptr, pd->af, &src->addr,
+#endif
&dst->addr, src->port, dst->port,
(*state)->src.seqhi + 1, (*state)->src.seqlo + 1,
TH_ACK, (*state)->dst.max_win, 0, 0, 1,
@@ -4685,7 +4736,11 @@
(*state)->src.state == TCPS_SYN_SENT) {
/* Send RST for state mismatches during handshake */
if (!(th->th_flags & TH_RST))
+#ifdef __FreeBSD__
+ pf_send_tcp(m, (*state)->rule.ptr, pd->af,
+#else
pf_send_tcp((*state)->rule.ptr, pd->af,
+#endif
pd->dst, pd->src, th->th_dport,
th->th_sport, ntohl(th->th_ack), 0,
TH_RST, 0, 0,
==== //depot/projects/trustedbsd/priv/sys/crypto/via/padlock_cipher.c#2 (text+ko) ====
@@ -45,7 +45,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/crypto/via/padlock_cipher.c,v 1.4 2006/07/25 20:00:55 pjd Exp $");
+__FBSDID("$FreeBSD: src/sys/crypto/via/padlock_cipher.c,v 1.5 2006/09/15 10:44:55 pjd Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -225,7 +225,7 @@
cw->cw_direction = PADLOCK_DIRECTION_ENCRYPT;
key = ses->ses_ekey;
if ((enccrd->crd_flags & CRD_F_IV_EXPLICIT) != 0)
- bcopy(enccrd->crd_iv, ses->ses_iv, 16);
+ bcopy(enccrd->crd_iv, ses->ses_iv, AES_BLOCK_LEN);
if ((enccrd->crd_flags & CRD_F_IV_PRESENT) == 0) {
crypto_copyback(crp->crp_flags, crp->crp_buf,
@@ -247,7 +247,8 @@
enccrd->crd_len, abuf);
}
- padlock_cbc(abuf, abuf, enccrd->crd_len / 16, key, cw, ses->ses_iv);
+ padlock_cbc(abuf, abuf, enccrd->crd_len / AES_BLOCK_LEN, key, cw,
+ ses->ses_iv);
if (allocated) {
crypto_copyback(crp->crp_flags, crp->crp_buf, enccrd->crd_skip,
==== //depot/projects/trustedbsd/priv/sys/dev/acpica/acpi.c#2 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.227 2006/07/29 21:46:16 njl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.228 2006/09/11 19:32:54 jhb Exp $");
#include "opt_acpi.h"
#include <sys/param.h>
@@ -415,13 +415,13 @@
acpi_rman_io.rm_type = RMAN_ARRAY;
acpi_rman_io.rm_start = 0;
acpi_rman_io.rm_end = 0xffff;
- acpi_rman_io.rm_descr = "I/O ports";
+ acpi_rman_io.rm_descr = "ACPI I/O ports";
if (rman_init(&acpi_rman_io) != 0)
panic("acpi rman_init IO ports failed");
acpi_rman_mem.rm_type = RMAN_ARRAY;
acpi_rman_mem.rm_start = 0;
acpi_rman_mem.rm_end = ~0ul;
- acpi_rman_mem.rm_descr = "I/O memory addresses";
+ acpi_rman_mem.rm_descr = "ACPI I/O memory addresses";
if (rman_init(&acpi_rman_mem) != 0)
panic("acpi rman_init memory failed");
==== //depot/projects/trustedbsd/priv/sys/dev/ata/ata-all.c#2 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.273 2006/05/12 05:04:40 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.274 2006/09/11 18:33:59 sos Exp $");
#include "opt_ata.h"
#include <sys/param.h>
@@ -636,7 +636,9 @@
if (init) {
sprintf(buffer, "%.40s/%.8s", atacap->model, atacap->revision);
device_set_desc_copy(atadev->dev, buffer);
- if (atadev->param.config & ATA_PROTO_ATAPI) {
+ if ((atadev->param.config & ATA_PROTO_ATAPI) &&
+ (atadev->param.config != ATA_CFA_MAGIC1) &&
+ (atadev->param.config != ATA_CFA_MAGIC2)) {
if (atapi_dma && ch->dma &&
(atadev->param.config & ATA_DRQ_MASK) != ATA_DRQ_INTR &&
ata_umode(&atadev->param) >= ATA_UDMA2)
==== //depot/projects/trustedbsd/priv/sys/dev/ata/ata-chipset.c#3 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.173 2006/09/02 12:55:42 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.175 2006/09/12 22:06:39 sos Exp $");
#include "opt_ata.h"
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the trustedbsd-cvs
mailing list