PERFORCE change 170002 for review
Hans Petter Selasky
hselasky at FreeBSD.org
Sat Oct 31 15:50:56 UTC 2009
http://p4web.freebsd.org/chv.cgi?CH=170002
Change 170002 by hselasky at hselasky_laptop001 on 2009/10/31 15:50:40
IFC @ 169997
Affected files ...
.. //depot/projects/usb/src/lib/libusb/libusb20_ugen20.c#9 integrate
.. //depot/projects/usb/src/sys/amd64/acpica/acpi_wakecode.S#5 integrate
.. //depot/projects/usb/src/sys/amd64/amd64/machdep.c#27 integrate
.. //depot/projects/usb/src/sys/amd64/ia32/ia32_signal.c#10 integrate
.. //depot/projects/usb/src/sys/amd64/linux32/linux32_machdep.c#14 integrate
.. //depot/projects/usb/src/sys/amd64/linux32/linux32_sysvec.c#23 integrate
.. //depot/projects/usb/src/sys/arm/arm/machdep.c#10 integrate
.. //depot/projects/usb/src/sys/arm/mv/mv_sata.c#2 integrate
.. //depot/projects/usb/src/sys/boot/common/commands.c#2 integrate
.. //depot/projects/usb/src/sys/boot/i386/zfsboot/zfsboot.c#5 integrate
.. //depot/projects/usb/src/sys/boot/zfs/zfs.c#4 integrate
.. //depot/projects/usb/src/sys/boot/zfs/zfsimpl.c#5 integrate
.. //depot/projects/usb/src/sys/cam/ata/ata_da.c#6 integrate
.. //depot/projects/usb/src/sys/cam/ata/ata_pmp.c#1 branch
.. //depot/projects/usb/src/sys/cam/ata/ata_xpt.c#5 integrate
.. //depot/projects/usb/src/sys/cam/cam.h#4 integrate
.. //depot/projects/usb/src/sys/cam/cam_ccb.h#8 integrate
.. //depot/projects/usb/src/sys/cam/cam_periph.c#13 integrate
.. //depot/projects/usb/src/sys/cam/cam_periph.h#5 integrate
.. //depot/projects/usb/src/sys/cam/cam_queue.c#2 integrate
.. //depot/projects/usb/src/sys/cam/cam_queue.h#2 integrate
.. //depot/projects/usb/src/sys/cam/cam_xpt.c#24 integrate
.. //depot/projects/usb/src/sys/cam/scsi/scsi_all.c#8 integrate
.. //depot/projects/usb/src/sys/cam/scsi/scsi_cd.c#12 integrate
.. //depot/projects/usb/src/sys/cam/scsi/scsi_ch.c#7 integrate
.. //depot/projects/usb/src/sys/cam/scsi/scsi_da.c#16 integrate
.. //depot/projects/usb/src/sys/cam/scsi/scsi_low.c#6 integrate
.. //depot/projects/usb/src/sys/cam/scsi/scsi_pt.c#7 integrate
.. //depot/projects/usb/src/sys/cam/scsi/scsi_sa.c#10 integrate
.. //depot/projects/usb/src/sys/cam/scsi/scsi_sg.c#9 integrate
.. //depot/projects/usb/src/sys/cam/scsi/scsi_targ_bh.c#5 integrate
.. //depot/projects/usb/src/sys/cam/scsi/scsi_target.c#8 integrate
.. //depot/projects/usb/src/sys/cam/scsi/scsi_xpt.c#2 integrate
.. //depot/projects/usb/src/sys/cddl/boot/zfs/zfsimpl.h#4 integrate
.. //depot/projects/usb/src/sys/cddl/compat/opensolaris/sys/vnode.h#8 integrate
.. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#16 integrate
.. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h#4 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_misc.c#22 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_proto.h#22 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_syscall.h#21 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_syscalls.c#21 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_sysent.c#22 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/syscalls.master#21 integrate
.. //depot/projects/usb/src/sys/compat/linux/linux_socket.c#17 integrate
.. //depot/projects/usb/src/sys/conf/NOTES#48 integrate
.. //depot/projects/usb/src/sys/conf/files#84 integrate
.. //depot/projects/usb/src/sys/contrib/dev/iwn/LICENSE#2 integrate
.. //depot/projects/usb/src/sys/contrib/dev/iwn/iwlwifi-4965-228.57.2.23.fw.uu#1 branch
.. //depot/projects/usb/src/sys/contrib/dev/iwn/iwlwifi-4965-4.44.17.fw.uu#2 delete
.. //depot/projects/usb/src/sys/contrib/dev/iwn/iwlwifi-5000-5.4.A.11.fw.uu#1 branch
.. //depot/projects/usb/src/sys/contrib/dev/iwn/iwlwifi-5150-8.24.2.2.fw.uu#1 branch
.. //depot/projects/usb/src/sys/dev/aac/aac.c#11 integrate
.. //depot/projects/usb/src/sys/dev/aac/aac_cam.c#8 integrate
.. //depot/projects/usb/src/sys/dev/aac/aacreg.h#4 integrate
.. //depot/projects/usb/src/sys/dev/aac/aacvar.h#6 integrate
.. //depot/projects/usb/src/sys/dev/acpi_support/acpi_aiboost.c#4 integrate
.. //depot/projects/usb/src/sys/dev/ahci/ahci.c#5 integrate
.. //depot/projects/usb/src/sys/dev/aic7xxx/aic79xx_pci.c#4 integrate
.. //depot/projects/usb/src/sys/dev/amr/amr.c#12 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-all.c#20 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-all.h#15 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-disk.c#16 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-dma.c#11 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-lowlevel.c#6 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-pci.c#15 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-pci.h#22 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-queue.c#15 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-raid.c#11 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-sata.c#6 integrate
.. //depot/projects/usb/src/sys/dev/ata/atapi-cam.c#13 integrate
.. //depot/projects/usb/src/sys/dev/ata/atapi-cd.c#12 integrate
.. //depot/projects/usb/src/sys/dev/ata/atapi-fd.c#9 integrate
.. //depot/projects/usb/src/sys/dev/ata/atapi-tape.c#11 integrate
.. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-adaptec.c#3 integrate
.. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-ahci.c#10 integrate
.. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-intel.c#7 integrate
.. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-marvell.c#9 integrate
.. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-nvidia.c#8 integrate
.. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-promise.c#8 integrate
.. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-serverworks.c#5 integrate
.. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-siliconimage.c#7 integrate
.. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-via.c#6 integrate
.. //depot/projects/usb/src/sys/dev/drm/drmP.h#15 integrate
.. //depot/projects/usb/src/sys/dev/drm/drm_scatter.c#7 integrate
.. //depot/projects/usb/src/sys/dev/drm/r600_blit.c#4 integrate
.. //depot/projects/usb/src/sys/dev/drm/radeon_cp.c#12 integrate
.. //depot/projects/usb/src/sys/dev/fb/vesa.c#4 integrate
.. //depot/projects/usb/src/sys/dev/fb/vesa.h#2 integrate
.. //depot/projects/usb/src/sys/dev/fdc/fdc.c#10 integrate
.. //depot/projects/usb/src/sys/dev/hwpmc/hwpmc_core.c#5 integrate
.. //depot/projects/usb/src/sys/dev/iwn/if_iwn.c#12 integrate
.. //depot/projects/usb/src/sys/dev/iwn/if_iwnreg.h#2 integrate
.. //depot/projects/usb/src/sys/dev/iwn/if_iwnvar.h#4 integrate
.. //depot/projects/usb/src/sys/dev/msk/if_msk.c#16 integrate
.. //depot/projects/usb/src/sys/dev/msk/if_mskreg.h#11 integrate
.. //depot/projects/usb/src/sys/dev/mwl/if_mwl_pci.c#2 integrate
.. //depot/projects/usb/src/sys/dev/pci/pci.c#29 integrate
.. //depot/projects/usb/src/sys/dev/ppbus/lpt.c#10 integrate
.. //depot/projects/usb/src/sys/dev/ppbus/pcfclock.c#5 integrate
.. //depot/projects/usb/src/sys/dev/siis/siis.c#5 integrate
.. //depot/projects/usb/src/sys/dev/syscons/syscons.c#17 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/ehci_pci.c#16 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/ohci.c#31 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/uhci_pci.c#13 integrate
.. //depot/projects/usb/src/sys/dev/usb/input/ums.c#24 integrate
.. //depot/projects/usb/src/sys/dev/usb/serial/usb_serial.c#15 edit
.. //depot/projects/usb/src/sys/fs/smbfs/smbfs_vfsops.c#8 integrate
.. //depot/projects/usb/src/sys/fs/tmpfs/tmpfs_subr.c#12 integrate
.. //depot/projects/usb/src/sys/i386/bios/apm.c#8 integrate
.. //depot/projects/usb/src/sys/i386/i386/machdep.c#24 integrate
.. //depot/projects/usb/src/sys/i386/linux/linux_machdep.c#12 integrate
.. //depot/projects/usb/src/sys/i386/linux/linux_sysvec.c#17 integrate
.. //depot/projects/usb/src/sys/ia64/conf/GENERIC#14 integrate
.. //depot/projects/usb/src/sys/ia64/ia64/machdep.c#13 integrate
.. //depot/projects/usb/src/sys/ia64/include/param.h#6 integrate
.. //depot/projects/usb/src/sys/kern/init_sysent.c#18 integrate
.. //depot/projects/usb/src/sys/kern/kern_context.c#3 integrate
.. //depot/projects/usb/src/sys/kern/kern_cpuset.c#9 integrate
.. //depot/projects/usb/src/sys/kern/kern_exec.c#23 integrate
.. //depot/projects/usb/src/sys/kern/kern_ktrace.c#12 integrate
.. //depot/projects/usb/src/sys/kern/kern_shutdown.c#15 integrate
.. //depot/projects/usb/src/sys/kern/kern_sig.c#19 integrate
.. //depot/projects/usb/src/sys/kern/kern_thread.c#17 integrate
.. //depot/projects/usb/src/sys/kern/subr_bus.c#33 integrate
.. //depot/projects/usb/src/sys/kern/subr_taskqueue.c#10 integrate
.. //depot/projects/usb/src/sys/kern/subr_trap.c#13 integrate
.. //depot/projects/usb/src/sys/kern/sys_generic.c#19 integrate
.. //depot/projects/usb/src/sys/kern/sys_process.c#15 integrate
.. //depot/projects/usb/src/sys/kern/syscalls.c#17 integrate
.. //depot/projects/usb/src/sys/kern/syscalls.master#17 integrate
.. //depot/projects/usb/src/sys/kern/systrace_args.c#14 integrate
.. //depot/projects/usb/src/sys/kern/sysv_shm.c#13 integrate
.. //depot/projects/usb/src/sys/kern/uipc_syscalls.c#21 integrate
.. //depot/projects/usb/src/sys/mips/mips/pm_machdep.c#3 integrate
.. //depot/projects/usb/src/sys/modules/cam/Makefile#4 integrate
.. //depot/projects/usb/src/sys/modules/iwnfw/Makefile#3 integrate
.. //depot/projects/usb/src/sys/modules/iwnfw/Makefile.inc#1 branch
.. //depot/projects/usb/src/sys/modules/iwnfw/iwn4965/Makefile#1 branch
.. //depot/projects/usb/src/sys/modules/iwnfw/iwn5000/Makefile#1 branch
.. //depot/projects/usb/src/sys/modules/iwnfw/iwn5150/Makefile#1 branch
.. //depot/projects/usb/src/sys/net/bpf.c#25 integrate
.. //depot/projects/usb/src/sys/net/flowtable.c#14 integrate
.. //depot/projects/usb/src/sys/net/if_gif.c#19 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_hwmp.c#6 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_output.c#29 integrate
.. //depot/projects/usb/src/sys/netgraph/NOTES#2 integrate
.. //depot/projects/usb/src/sys/netinet/if_ether.c#32 integrate
.. //depot/projects/usb/src/sys/netinet/in.c#39 integrate
.. //depot/projects/usb/src/sys/netinet/ip_input.c#33 integrate
.. //depot/projects/usb/src/sys/netinet/libalias/alias.c#8 integrate
.. //depot/projects/usb/src/sys/netinet/sctp_cc_functions.c#5 integrate
.. //depot/projects/usb/src/sys/netinet/sctp_output.c#25 integrate
.. //depot/projects/usb/src/sys/netinet6/in6.c#35 integrate
.. //depot/projects/usb/src/sys/pc98/pc98/machdep.c#15 integrate
.. //depot/projects/usb/src/sys/powerpc/aim/clock.c#6 integrate
.. //depot/projects/usb/src/sys/powerpc/aim/machdep.c#13 integrate
.. //depot/projects/usb/src/sys/powerpc/aim/mmu_oea64.c#6 integrate
.. //depot/projects/usb/src/sys/powerpc/aim/mp_cpudep.c#5 integrate
.. //depot/projects/usb/src/sys/powerpc/aim/platform_chrp.c#4 integrate
.. //depot/projects/usb/src/sys/powerpc/aim/trap_subr.S#8 integrate
.. //depot/projects/usb/src/sys/powerpc/booke/machdep.c#13 integrate
.. //depot/projects/usb/src/sys/powerpc/booke/mp_cpudep.c#2 integrate
.. //depot/projects/usb/src/sys/powerpc/include/hid.h#6 integrate
.. //depot/projects/usb/src/sys/powerpc/include/pcpu.h#10 integrate
.. //depot/projects/usb/src/sys/powerpc/include/smp.h#7 integrate
.. //depot/projects/usb/src/sys/powerpc/include/spr.h#13 integrate
.. //depot/projects/usb/src/sys/powerpc/powermac/hrowpic.c#6 integrate
.. //depot/projects/usb/src/sys/powerpc/powerpc/cpu.c#11 integrate
.. //depot/projects/usb/src/sys/powerpc/powerpc/mp_machdep.c#10 integrate
.. //depot/projects/usb/src/sys/powerpc/powerpc/stack_machdep.c#2 integrate
.. //depot/projects/usb/src/sys/sparc64/include/in_cksum.h#4 integrate
.. //depot/projects/usb/src/sys/sparc64/sparc64/machdep.c#17 integrate
.. //depot/projects/usb/src/sys/sun4v/sun4v/machdep.c#10 integrate
.. //depot/projects/usb/src/sys/sys/aac_ioctl.h#3 integrate
.. //depot/projects/usb/src/sys/sys/ata.h#7 integrate
.. //depot/projects/usb/src/sys/sys/conf.h#21 integrate
.. //depot/projects/usb/src/sys/sys/interrupt.h#10 integrate
.. //depot/projects/usb/src/sys/sys/ktrace.h#4 integrate
.. //depot/projects/usb/src/sys/sys/signalvar.h#6 integrate
.. //depot/projects/usb/src/sys/sys/syscall.h#17 integrate
.. //depot/projects/usb/src/sys/sys/syscall.mk#17 integrate
.. //depot/projects/usb/src/sys/sys/syscallsubr.h#14 integrate
.. //depot/projects/usb/src/sys/sys/sysproto.h#18 integrate
.. //depot/projects/usb/src/sys/sys/time.h#8 integrate
.. //depot/projects/usb/src/sys/tools/fw_stub.awk#5 integrate
.. //depot/projects/usb/src/sys/tools/makeobjops.awk#2 integrate
.. //depot/projects/usb/src/sys/vm/vm_fault.c#18 integrate
.. //depot/projects/usb/src/sys/vm/vm_map.c#21 integrate
Differences ...
==== //depot/projects/usb/src/lib/libusb/libusb20_ugen20.c#9 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb/libusb20_ugen20.c,v 1.4 2009/06/23 02:19:59 thompsa Exp $ */
+/* $FreeBSD: src/lib/libusb/libusb20_ugen20.c,v 1.5 2009/10/22 21:01:41 thompsa Exp $ */
/*-
* Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
*
==== //depot/projects/usb/src/sys/amd64/acpica/acpi_wakecode.S#5 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/amd64/acpica/acpi_wakecode.S,v 1.4 2009/10/08 17:41:53 jkim Exp $
+ * $FreeBSD: src/sys/amd64/acpica/acpi_wakecode.S,v 1.5 2009/10/23 18:57:52 jkim Exp $
*/
#define LOCORE
@@ -88,6 +88,11 @@
movb $0, reset_video - wakeup_start
lcall $0xc000, $3
+ /* When we reach here, int 0x10 should be ready. Hide cursor. */
+ movb $0x01, %ah
+ movb $0x20, %ch
+ int $0x10
+
/* Re-start in case the previous BIOS call clobbers them. */
jmp wakeup_start
1:
==== //depot/projects/usb/src/sys/amd64/amd64/machdep.c#27 (text+ko) ====
@@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.710 2009/09/22 16:51:00 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.711 2009/10/27 10:47:58 kib Exp $");
#include "opt_atalk.h"
#include "opt_atpic.h"
@@ -415,7 +415,7 @@
ucontext_t uc;
struct proc *p = td->td_proc;
struct trapframe *regs;
- const ucontext_t *ucp;
+ ucontext_t *ucp;
long rflags;
int cs, error, ret;
ksiginfo_t ksi;
@@ -478,7 +478,6 @@
td->td_pcb->pcb_fsbase = ucp->uc_mcontext.mc_fsbase;
td->td_pcb->pcb_gsbase = ucp->uc_mcontext.mc_gsbase;
- PROC_LOCK(p);
#if defined(COMPAT_43)
if (ucp->uc_mcontext.mc_onstack & 1)
td->td_sigstk.ss_flags |= SS_ONSTACK;
@@ -486,10 +485,7 @@
td->td_sigstk.ss_flags &= ~SS_ONSTACK;
#endif
- td->td_sigmask = ucp->uc_sigmask;
- SIG_CANTMASK(td->td_sigmask);
- signotify(td);
- PROC_UNLOCK(p);
+ kern_sigprocmask(td, SIG_SETMASK, &ucp->uc_sigmask, NULL, 0);
td->td_pcb->pcb_flags |= PCB_FULLCTX;
td->td_pcb->pcb_full_iret = 1;
return (EJUSTRETURN);
==== //depot/projects/usb/src/sys/amd64/ia32/ia32_signal.c#10 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.23 2009/07/09 09:34:11 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.24 2009/10/27 10:47:58 kib Exp $");
#include "opt_compat.h"
@@ -244,10 +244,8 @@
if (ret == 0) {
ret = ia32_set_mcontext(td, &uc.uc_mcontext);
if (ret == 0) {
- SIG_CANTMASK(uc.uc_sigmask);
- PROC_LOCK(td->td_proc);
- td->td_sigmask = uc.uc_sigmask;
- PROC_UNLOCK(td->td_proc);
+ kern_sigprocmask(td, SIG_SETMASK,
+ &uc.uc_sigmask, NULL, 0);
}
}
}
@@ -273,10 +271,8 @@
if (ret == 0) {
ret = ia32_set_mcontext(td, &uc.uc_mcontext);
if (ret == 0) {
- SIG_CANTMASK(uc.uc_sigmask);
- PROC_LOCK(td->td_proc);
- td->td_sigmask = uc.uc_sigmask;
- PROC_UNLOCK(td->td_proc);
+ kern_sigprocmask(td, SIG_SETMASK,
+ &uc.uc_sigmask, NULL, 0);
}
}
}
@@ -544,9 +540,8 @@
} */ *uap;
{
struct ia32_ucontext4 uc;
- struct proc *p = td->td_proc;
struct trapframe *regs;
- const struct ia32_ucontext4 *ucp;
+ struct ia32_ucontext4 *ucp;
int cs, eflags, error;
ksiginfo_t ksi;
@@ -610,11 +605,7 @@
regs->tf_fs = ucp->uc_mcontext.mc_fs;
regs->tf_gs = ucp->uc_mcontext.mc_gs;
- PROC_LOCK(p);
- td->td_sigmask = ucp->uc_sigmask;
- SIG_CANTMASK(td->td_sigmask);
- signotify(td);
- PROC_UNLOCK(p);
+ kern_sigprocmask(td, SIG_SETMASK, &ucp->uc_sigmask, NULL, 0);
td->td_pcb->pcb_full_iret = 1;
return (EJUSTRETURN);
}
@@ -631,9 +622,8 @@
} */ *uap;
{
struct ia32_ucontext uc;
- struct proc *p = td->td_proc;
struct trapframe *regs;
- const struct ia32_ucontext *ucp;
+ struct ia32_ucontext *ucp;
int cs, eflags, error, ret;
ksiginfo_t ksi;
@@ -702,11 +692,7 @@
regs->tf_gs = ucp->uc_mcontext.mc_gs;
regs->tf_flags = TF_HASSEGS;
- PROC_LOCK(p);
- td->td_sigmask = ucp->uc_sigmask;
- SIG_CANTMASK(td->td_sigmask);
- signotify(td);
- PROC_UNLOCK(p);
+ kern_sigprocmask(td, SIG_SETMASK, &ucp->uc_sigmask, NULL, 0);
td->td_pcb->pcb_full_iret = 1;
return (EJUSTRETURN);
}
==== //depot/projects/usb/src/sys/amd64/linux32/linux32_machdep.c#14 (text+ko) ====
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.53 2009/04/01 13:09:26 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.54 2009/10/28 20:17:54 jhb Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -91,6 +91,10 @@
return (bsa);
}
+static int linux_mmap_common(struct thread *td, l_uintptr_t addr,
+ l_size_t len, l_int prot, l_int flags, l_int fd,
+ l_loff_t pos);
+
int
bsd_to_linux_sigaltstack(int bsa)
{
@@ -759,12 +763,9 @@
#define STACK_SIZE (2 * 1024 * 1024)
#define GUARD_SIZE (4 * PAGE_SIZE)
-static int linux_mmap_common(struct thread *, struct l_mmap_argv *);
-
int
linux_mmap2(struct thread *td, struct linux_mmap2_args *args)
{
- struct l_mmap_argv linux_args;
#ifdef DEBUG
if (ldebug(mmap2))
@@ -773,14 +774,9 @@
args->flags, args->fd, args->pgoff);
#endif
- linux_args.addr = PTROUT(args->addr);
- linux_args.len = args->len;
- linux_args.prot = args->prot;
- linux_args.flags = args->flags;
- linux_args.fd = args->fd;
- linux_args.pgoff = args->pgoff;
-
- return (linux_mmap_common(td, &linux_args));
+ return (linux_mmap_common(td, PTROUT(args->addr), args->len, args->prot,
+ args->flags, args->fd, (uint64_t)(uint32_t)args->pgoff *
+ PAGE_SIZE));
}
int
@@ -799,15 +795,15 @@
linux_args.addr, linux_args.len, linux_args.prot,
linux_args.flags, linux_args.fd, linux_args.pgoff);
#endif
- if ((linux_args.pgoff % PAGE_SIZE) != 0)
- return (EINVAL);
- linux_args.pgoff /= PAGE_SIZE;
- return (linux_mmap_common(td, &linux_args));
+ return (linux_mmap_common(td, linux_args.addr, linux_args.len,
+ linux_args.prot, linux_args.flags, linux_args.fd,
+ (uint32_t)linux_args.pgoff));
}
static int
-linux_mmap_common(struct thread *td, struct l_mmap_argv *linux_args)
+linux_mmap_common(struct thread *td, l_uintptr_t addr, l_size_t len, l_int prot,
+ l_int flags, l_int fd, l_loff_t pos)
{
struct proc *p = td->td_proc;
struct mmap_args /* {
@@ -830,21 +826,20 @@
* Linux mmap(2):
* You must specify exactly one of MAP_SHARED and MAP_PRIVATE
*/
- if (! ((linux_args->flags & LINUX_MAP_SHARED) ^
- (linux_args->flags & LINUX_MAP_PRIVATE)))
+ if (!((flags & LINUX_MAP_SHARED) ^ (flags & LINUX_MAP_PRIVATE)))
return (EINVAL);
- if (linux_args->flags & LINUX_MAP_SHARED)
+ if (flags & LINUX_MAP_SHARED)
bsd_args.flags |= MAP_SHARED;
- if (linux_args->flags & LINUX_MAP_PRIVATE)
+ if (flags & LINUX_MAP_PRIVATE)
bsd_args.flags |= MAP_PRIVATE;
- if (linux_args->flags & LINUX_MAP_FIXED)
+ if (flags & LINUX_MAP_FIXED)
bsd_args.flags |= MAP_FIXED;
- if (linux_args->flags & LINUX_MAP_ANON)
+ if (flags & LINUX_MAP_ANON)
bsd_args.flags |= MAP_ANON;
else
bsd_args.flags |= MAP_NOSYNC;
- if (linux_args->flags & LINUX_MAP_GROWSDOWN)
+ if (flags & LINUX_MAP_GROWSDOWN)
bsd_args.flags |= MAP_STACK;
/*
@@ -852,12 +847,12 @@
* on Linux/i386. We do this to ensure maximum compatibility.
* Linux/ia64 does the same in i386 emulation mode.
*/
- bsd_args.prot = linux_args->prot;
+ bsd_args.prot = prot;
if (bsd_args.prot & (PROT_READ | PROT_WRITE | PROT_EXEC))
bsd_args.prot |= PROT_READ | PROT_EXEC;
/* Linux does not check file descriptor when MAP_ANONYMOUS is set. */
- bsd_args.fd = (bsd_args.flags & MAP_ANON) ? -1 : linux_args->fd;
+ bsd_args.fd = (bsd_args.flags & MAP_ANON) ? -1 : fd;
if (bsd_args.fd != -1) {
/*
* Linux follows Solaris mmap(2) description:
@@ -882,7 +877,7 @@
fdrop(fp, td);
}
- if (linux_args->flags & LINUX_MAP_GROWSDOWN) {
+ if (flags & LINUX_MAP_GROWSDOWN) {
/*
* The Linux MAP_GROWSDOWN option does not limit auto
* growth of the region. Linux mmap with this option
@@ -905,8 +900,7 @@
* fixed size of (STACK_SIZE - GUARD_SIZE).
*/
- if ((caddr_t)PTRIN(linux_args->addr) + linux_args->len >
- p->p_vmspace->vm_maxsaddr) {
+ if ((caddr_t)PTRIN(addr) + len > p->p_vmspace->vm_maxsaddr) {
/*
* Some Linux apps will attempt to mmap
* thread stacks near the top of their
@@ -937,19 +931,19 @@
* we map the full stack, since we don't have a way
* to autogrow it.
*/
- if (linux_args->len > STACK_SIZE - GUARD_SIZE) {
- bsd_args.addr = (caddr_t)PTRIN(linux_args->addr);
- bsd_args.len = linux_args->len;
+ if (len > STACK_SIZE - GUARD_SIZE) {
+ bsd_args.addr = (caddr_t)PTRIN(addr);
+ bsd_args.len = len;
} else {
- bsd_args.addr = (caddr_t)PTRIN(linux_args->addr) -
- (STACK_SIZE - GUARD_SIZE - linux_args->len);
+ bsd_args.addr = (caddr_t)PTRIN(addr) -
+ (STACK_SIZE - GUARD_SIZE - len);
bsd_args.len = STACK_SIZE - GUARD_SIZE;
}
} else {
- bsd_args.addr = (caddr_t)PTRIN(linux_args->addr);
- bsd_args.len = linux_args->len;
+ bsd_args.addr = (caddr_t)PTRIN(addr);
+ bsd_args.len = len;
}
- bsd_args.pos = (off_t)linux_args->pgoff * PAGE_SIZE;
+ bsd_args.pos = pos;
#ifdef DEBUG
if (ldebug(mmap))
==== //depot/projects/usb/src/sys/amd64/linux32/linux32_sysvec.c#23 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.53 2009/08/24 16:19:47 bz Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.54 2009/10/27 10:47:58 kib Exp $");
#include "opt_compat.h"
#ifndef COMPAT_IA32
@@ -565,9 +565,9 @@
int
linux_sigreturn(struct thread *td, struct linux_sigreturn_args *args)
{
- struct proc *p = td->td_proc;
struct l_sigframe frame;
struct trapframe *regs;
+ sigset_t bmask;
l_sigset_t lmask;
int eflags, i;
ksiginfo_t ksi;
@@ -623,11 +623,8 @@
lmask.__bits[0] = frame.sf_sc.sc_mask;
for (i = 0; i < (LINUX_NSIG_WORDS-1); i++)
lmask.__bits[i+1] = frame.sf_extramask[i];
- PROC_LOCK(p);
- linux_to_bsd_sigset(&lmask, &td->td_sigmask);
- SIG_CANTMASK(td->td_sigmask);
- signotify(td);
- PROC_UNLOCK(p);
+ linux_to_bsd_sigset(&lmask, &bmask);
+ kern_sigprocmask(td, SIG_SETMASK, &bmask, NULL, 0);
/*
* Restore signal context.
@@ -666,9 +663,9 @@
int
linux_rt_sigreturn(struct thread *td, struct linux_rt_sigreturn_args *args)
{
- struct proc *p = td->td_proc;
struct l_ucontext uc;
struct l_sigcontext *context;
+ sigset_t bmask;
l_stack_t *lss;
stack_t ss;
struct trapframe *regs;
@@ -725,11 +722,8 @@
return(EINVAL);
}
- PROC_LOCK(p);
- linux_to_bsd_sigset(&uc.uc_sigmask, &td->td_sigmask);
- SIG_CANTMASK(td->td_sigmask);
- signotify(td);
- PROC_UNLOCK(p);
+ linux_to_bsd_sigset(&uc.uc_sigmask, &bmask);
+ kern_sigprocmask(td, SIG_SETMASK, &bmask, NULL, 0);
/*
* Restore signal context
==== //depot/projects/usb/src/sys/arm/arm/machdep.c#10 (text+ko) ====
@@ -46,7 +46,7 @@
#include "opt_ddb.h"
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.33 2009/05/18 18:37:18 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.34 2009/10/27 10:47:58 kib Exp $");
#include <sys/param.h>
#include <sys/proc.h>
@@ -605,7 +605,6 @@
const struct __ucontext *sigcntxp;
} */ *uap;
{
- struct proc *p = td->td_proc;
struct sigframe sf;
struct trapframe *tf;
int spsr;
@@ -627,11 +626,7 @@
set_mcontext(td, &sf.sf_uc.uc_mcontext);
/* Restore signal mask. */
- PROC_LOCK(p);
- td->td_sigmask = sf.sf_uc.uc_sigmask;
- SIG_CANTMASK(td->td_sigmask);
- signotify(td);
- PROC_UNLOCK(p);
+ kern_sigprocmask(td, SIG_SETMASK, &sf.sf_uc.uc_sigmask, NULL, 0);
return (EJUSTRETURN);
}
==== //depot/projects/usb/src/sys/arm/mv/mv_sata.c#2 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/mv/mv_sata.c,v 1.1 2009/06/24 15:41:18 raj Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/mv/mv_sata.c,v 1.2 2009/10/31 13:24:14 mav Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -548,14 +548,16 @@
uint32_t req_in;
int error, slot;
- sc = device_get_softc(GRANDPARENT(request->dev));
+ sc = device_get_softc(device_get_parent(request->parent));
ch = device_get_softc(request->parent);
mtx_assert(&ch->state_mtx, MA_OWNED);
/* Only DMA R/W goes through the EDMA machine. */
if (request->u.ata.command != ATA_READ_DMA &&
- request->u.ata.command != ATA_WRITE_DMA) {
+ request->u.ata.command != ATA_WRITE_DMA &&
+ request->u.ata.command != ATA_READ_DMA48 &&
+ request->u.ata.command != ATA_WRITE_DMA48) {
/* Disable EDMA before accessing legacy registers */
if (sata_edma_is_running(request->parent)) {
@@ -569,12 +571,9 @@
return (ata_begin_transaction(request));
}
- /* Check for 48 bit access and convert if needed */
- ata_modify_if_48bit(request);
-
/* Prepare data for DMA */
if ((error = ch->dma.load(request, NULL, NULL))) {
- device_printf(request->dev, "setting up DMA failed!\n");
+ device_printf(request->parent, "setting up DMA failed!\n");
request->result = error;
return ATA_OP_FINISHED;
}
@@ -633,7 +632,7 @@
uint32_t res_in, res_out, icr;
int slot;
- sc = device_get_softc(GRANDPARENT(request->dev));
+ sc = device_get_softc(device_get_parent(request->parent));
ch = device_get_softc(request->parent);
mtx_assert(&ch->state_mtx, MA_OWNED);
==== //depot/projects/usb/src/sys/boot/common/commands.c#2 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/common/commands.c,v 1.22 2004/11/13 17:04:55 ru Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/common/commands.c,v 1.23 2009/10/28 10:06:27 brueffer Exp $");
#include <stand.h>
#include <string.h>
@@ -150,6 +150,7 @@
break;
default:
command_errmsg = "usage is 'help <topic> [<subtopic>]";
+ close(hfd);
return(CMD_ERROR);
}
==== //depot/projects/usb/src/sys/boot/i386/zfsboot/zfsboot.c#5 (text+ko) ====
@@ -14,7 +14,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/i386/zfsboot/zfsboot.c,v 1.4 2009/10/14 14:13:42 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/i386/zfsboot/zfsboot.c,v 1.5 2009/10/23 18:44:53 rnoland Exp $");
#include <sys/param.h>
#include <sys/errno.h>
@@ -474,6 +474,7 @@
slba = hdr.hdr_lba_table;
elba = slba + hdr.hdr_entries / entries_per_sec;
while (slba < elba) {
+ dsk->start = 0;
if (drvread(dsk, sec, slba, 1))
return;
for (part = 0; part < entries_per_sec; part++) {
@@ -494,7 +495,6 @@
*/
dsk = copy_dsk(dsk);
}
- break;
}
}
slba++;
@@ -857,12 +857,13 @@
printf(const char *fmt,...)
{
va_list ap;
- char buf[10];
+ char buf[20];
char *s;
- unsigned u;
+ unsigned long long u;
int c;
int minus;
int prec;
+ int l;
int len;
int pad;
@@ -871,6 +872,7 @@
if (c == '%') {
minus = 0;
prec = 0;
+ l = 0;
nextfmt:
c = *fmt++;
switch (c) {
@@ -892,6 +894,9 @@
case 'c':
putchar(va_arg(ap, int));
continue;
+ case 'l':
+ l++;
+ goto nextfmt;
case 's':
s = va_arg(ap, char *);
if (prec) {
@@ -914,7 +919,17 @@
}
continue;
case 'u':
- u = va_arg(ap, unsigned);
+ switch (l) {
+ case 2:
+ u = va_arg(ap, unsigned long long);
+ break;
+ case 1:
+ u = va_arg(ap, unsigned long);
+ break;
+ default:
+ u = va_arg(ap, unsigned);
+ break;
+ }
s = buf;
do
*s++ = '0' + u % 10U;
==== //depot/projects/usb/src/sys/boot/zfs/zfs.c#4 (text+ko) ====
@@ -23,11 +23,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/boot/zfs/zfs.c,v 1.4 2008/12/11 16:48:35 ps Exp $
+ * $FreeBSD: src/sys/boot/zfs/zfs.c,v 1.5 2009/10/23 18:44:53 rnoland Exp $
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/zfs/zfs.c,v 1.4 2008/12/11 16:48:35 ps Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/zfs/zfs.c,v 1.5 2009/10/23 18:44:53 rnoland Exp $");
/*
* Stand-alone file reading package.
@@ -100,7 +100,7 @@
f->f_fsdata = (void *)fp;
if (spa->spa_root_objset.os_type != DMU_OST_ZFS) {
- printf("Unexpected object set type %lld\n",
+ printf("Unexpected object set type %llu\n",
spa->spa_root_objset.os_type);
rc = EIO;
goto out;
@@ -413,7 +413,7 @@
if (vdev_probe(vdev_read, (void*) (uintptr_t) fd, 0))
close(fd);
- for (slice = 1; slice <= 4; slice++) {
+ for (slice = 1; slice <= 128; slice++) {
sprintf(devname, "disk%dp%d:", unit, slice);
fd = open(devname, O_RDONLY);
if (fd == -1) {
==== //depot/projects/usb/src/sys/boot/zfs/zfsimpl.c#5 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/zfs/zfsimpl.c,v 1.5 2009/05/16 10:48:20 dfr Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/zfs/zfsimpl.c,v 1.6 2009/10/23 18:44:53 rnoland Exp $");
/*
* Stand-alone ZFS file reader.
@@ -53,6 +53,8 @@
#define TEMP_SIZE (1*SPA_MAXBLOCKSIZE)
+static int zio_read(spa_t *spa, const blkptr_t *bp, void *buf);
+
static void
zfs_init(void)
{
@@ -897,6 +899,33 @@
}
static int
+zio_read_gang(spa_t *spa, const blkptr_t *bp, const dva_t *dva, void *buf)
+{
+ zio_gbh_phys_t zio_gb;
+ vdev_t *vdev;
+ int vdevid;
+ off_t offset;
+ int i;
+
+ vdevid = DVA_GET_VDEV(dva);
+ offset = DVA_GET_OFFSET(dva);
+ STAILQ_FOREACH(vdev, &spa->spa_vdevs, v_childlink)
+ if (vdev->v_id == vdevid)
+ break;
+ if (!vdev || !vdev->v_read)
+ return (EIO);
+ if (vdev->v_read(vdev, bp, &zio_gb, offset, SPA_GANGBLOCKSIZE))
+ return (EIO);
+
+ for (i = 0; i < SPA_GBH_NBLKPTRS; i++) {
+ if (zio_read(spa, &zio_gb.zg_blkptr[i], buf))
+ return (EIO);
+ }
+
+ return (0);
+}
+
+static int
zio_read(spa_t *spa, const blkptr_t *bp, void *buf)
{
int cpfunc = BP_GET_COMPRESS(bp);
@@ -920,20 +949,27 @@
if (!dva->dva_word[0] && !dva->dva_word[1])
continue;
- vdevid = DVA_GET_VDEV(dva);
- offset = DVA_GET_OFFSET(dva);
- STAILQ_FOREACH(vdev, &spa->spa_vdevs, v_childlink)
- if (vdev->v_id == vdevid)
- break;
- if (!vdev || !vdev->v_read)
- continue;
- if (vdev->v_read(vdev, bp, pbuf, offset, psize))
- continue;
+ if (DVA_GET_GANG(dva)) {
+ printf("ZFS: gang block detected!\n");
+ if (zio_read_gang(spa, bp, dva, buf))
+ return (EIO);
+ } else {
+ vdevid = DVA_GET_VDEV(dva);
+ offset = DVA_GET_OFFSET(dva);
+ STAILQ_FOREACH(vdev, &spa->spa_vdevs, v_childlink)
+ if (vdev->v_id == vdevid)
+ break;
+ if (!vdev || !vdev->v_read) {
+ continue;
+ }
+ if (vdev->v_read(vdev, bp, pbuf, offset, psize))
+ continue;
- if (cpfunc != ZIO_COMPRESS_OFF) {
- if (zio_decompress_data(cpfunc, pbuf, psize,
- buf, lsize))
- return (EIO);
+ if (cpfunc != ZIO_COMPRESS_OFF) {
+ if (zio_decompress_data(cpfunc, pbuf, psize,
+ buf, lsize))
+ return (EIO);
+ }
}
return (0);
@@ -1331,13 +1367,13 @@
dsl_dataset_phys_t *ds;
if (objset_get_dnode(spa, &spa->spa_mos, objnum, &dataset)) {
- printf("ZFS: can't find dataset %lld\n", objnum);
+ printf("ZFS: can't find dataset %llu\n", objnum);
return (EIO);
}
ds = (dsl_dataset_phys_t *) &dataset.dn_bonus;
if (zio_read(spa, &ds->ds_bp, objset)) {
- printf("ZFS: can't read object set for dataset %lld\n", objnum);
+ printf("ZFS: can't read object set for dataset %llu\n", objnum);
return (EIO);
}
@@ -1367,7 +1403,8 @@
*/
if (zap_lookup(spa, &dir, DMU_POOL_PROPS, &props) == 0
&& objset_get_dnode(spa, &spa->spa_mos, props, &propdir) == 0
- && zap_lookup(spa, &propdir, "bootfs", &bootfs) == 0)
+ && zap_lookup(spa, &propdir, "bootfs", &bootfs) == 0
+ && bootfs != 0)
return zfs_mount_dataset(spa, bootfs, objset);
/*
@@ -1425,7 +1462,7 @@
int symlinks_followed = 0;
if (spa->spa_root_objset.os_type != DMU_OST_ZFS) {
- printf("ZFS: unexpected object set type %lld\n",
+ printf("ZFS: unexpected object set type %llu\n",
spa->spa_root_objset.os_type);
return (EIO);
}
==== //depot/projects/usb/src/sys/cam/ata/ata_da.c#6 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/ata/ata_da.c,v 1.6 2009/10/21 14:20:55 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/ata/ata_da.c,v 1.8 2009/10/31 10:43:38 mav Exp $");
#include <sys/param.h>
@@ -63,8 +63,7 @@
#define ATA_MAX_28BIT_LBA 268435455UL
typedef enum {
- ADA_STATE_NORMAL,
- ADA_STATE_SET_MULTI
+ ADA_STATE_NORMAL
} ada_state;
typedef enum {
@@ -84,7 +83,6 @@
} ada_quirks;
typedef enum {
- ADA_CCB_SET_MULTI = 0x01,
ADA_CCB_BUFFER_IO = 0x03,
ADA_CCB_WAITING = 0x04,
ADA_CCB_DUMP = 0x05,
@@ -112,7 +110,6 @@
ada_quirks quirks;
int ordered_tag_count;
int outstanding_cmds;
- int secsperint;
struct disk_params params;
struct disk *disk;
union ccb saved_ccb;
@@ -270,7 +267,7 @@
/* We only sync the cache if the drive is capable of it. */
if (softc->flags & ADA_FLAG_CAN_FLUSHCACHE) {
- ccb = cam_periph_getccb(periph, /*priority*/1);
+ ccb = cam_periph_getccb(periph, CAM_PRIORITY_NORMAL);
cam_fill_ataio(&ccb->ataio,
1,
adadone,
@@ -343,7 +340,7 @@
/*
* Schedule ourselves for performing the work.
*/
- xpt_schedule(periph, /* XXX priority */1);
+ xpt_schedule(periph, CAM_PRIORITY_NORMAL);
cam_periph_unlock(periph);
return;
@@ -377,7 +374,7 @@
if (length > 0) {
periph->flags |= CAM_PERIPH_POLLED;
- xpt_setup_ccb(&ccb.ccb_h, periph->path, /*priority*/1);
+ xpt_setup_ccb(&ccb.ccb_h, periph->path, CAM_PRIORITY_NORMAL);
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list