Date: Fri, 17 Oct 2003 20:15:24 -0700 (PDT) From: Marcel Moolenaar <marcel@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 39890 for review Message-ID: <200310180315.h9I3FOku064801@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=39890 Change 39890 by marcel@marcel_nfs on 2003/10/17 20:14:58 IFC @39883 Affected files ... .. //depot/projects/vm/alpha/alpha/trap.c#2 integrate .. //depot/projects/vm/amd64/amd64/exception.S#2 integrate .. //depot/projects/vm/amd64/amd64/trap.c#2 integrate .. //depot/projects/vm/amd64/amd64/uma_machdep.c#1 branch .. //depot/projects/vm/amd64/include/frame.h#2 integrate .. //depot/projects/vm/amd64/include/signal.h#2 integrate .. //depot/projects/vm/amd64/include/ucontext.h#2 integrate .. //depot/projects/vm/cam/scsi/scsi_cd.c#2 integrate .. //depot/projects/vm/cam/scsi/scsi_da.c#2 integrate .. //depot/projects/vm/compat/linprocfs/linprocfs.c#2 integrate .. //depot/projects/vm/compat/linux/linux_socket.c#2 integrate .. //depot/projects/vm/conf/files#2 integrate .. //depot/projects/vm/conf/files.amd64#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/Makefile#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx.h#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_context.c#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_env.h#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_scoreboard.c#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_self.c#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_step.c#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_step.h#1 branch .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_trace.c#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_trace.h#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_ttrace.c#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_uinfo.c#2 integrate .. //depot/projects/vm/contrib/ipfilter/netinet/ip_fil.c#2 integrate .. //depot/projects/vm/crypto/blowfish/bf_ecb.c#1 branch .. //depot/projects/vm/crypto/blowfish/blowfish.h#2 integrate .. //depot/projects/vm/crypto/cast128/cast128.c#2 integrate .. //depot/projects/vm/crypto/cast128/cast128.h#2 integrate .. //depot/projects/vm/crypto/cast128/cast128_subkey.h#2 delete .. //depot/projects/vm/crypto/cast128/cast128sb.h#1 branch .. //depot/projects/vm/crypto/rijndael/boxes-fst.dat#2 delete .. //depot/projects/vm/crypto/rijndael/rijndael-alg-fst.c#2 integrate .. //depot/projects/vm/crypto/rijndael/rijndael-alg-fst.h#2 integrate .. //depot/projects/vm/crypto/rijndael/rijndael-api-fst.c#2 integrate .. //depot/projects/vm/crypto/rijndael/rijndael-api-fst.h#2 integrate .. //depot/projects/vm/crypto/rijndael/rijndael_local.h#2 integrate .. //depot/projects/vm/dev/aac/aac.c#2 integrate .. //depot/projects/vm/dev/aac/aacreg.h#2 integrate .. //depot/projects/vm/dev/amr/amr.c#2 integrate .. //depot/projects/vm/dev/amr/amr_disk.c#2 integrate .. //depot/projects/vm/dev/amr/amrvar.h#2 integrate .. //depot/projects/vm/dev/an/if_an_pccard.c#2 integrate .. //depot/projects/vm/dev/ata/ata-all.c#2 integrate .. //depot/projects/vm/dev/ata/ata-card.c#2 integrate .. //depot/projects/vm/dev/ata/ata-disk.c#2 integrate .. //depot/projects/vm/dev/ata/ata-dma.c#2 integrate .. //depot/projects/vm/dev/ata/ata-lowlevel.c#2 integrate .. //depot/projects/vm/dev/ata/ata-queue.c#2 integrate .. //depot/projects/vm/dev/ata/atapi-cd.c#2 integrate .. //depot/projects/vm/dev/ath/if_ath.c#2 integrate .. //depot/projects/vm/dev/ath/if_ath_pci.c#2 integrate .. //depot/projects/vm/dev/ath/if_athvar.h#2 integrate .. //depot/projects/vm/dev/cardbus/cardbus_cis.c#2 integrate .. //depot/projects/vm/dev/cardbus/cardbus_cis.h#2 integrate .. //depot/projects/vm/dev/ciss/ciss.c#2 integrate .. //depot/projects/vm/dev/ed/if_ed.c#2 integrate .. //depot/projects/vm/dev/ed/if_ed_cbus.c#2 integrate .. //depot/projects/vm/dev/ed/if_ed_isa.c#2 integrate .. //depot/projects/vm/dev/ed/if_edreg.h#2 integrate .. //depot/projects/vm/dev/ed/if_edvar.h#2 integrate .. //depot/projects/vm/dev/em/if_em.c#2 integrate .. //depot/projects/vm/dev/em/if_em.h#2 integrate .. //depot/projects/vm/dev/exca/exca.c#2 integrate .. //depot/projects/vm/dev/hifn/hifn7751.c#2 integrate .. //depot/projects/vm/dev/hifn/hifn7751reg.h#2 integrate .. //depot/projects/vm/dev/hifn/hifn7751var.h#2 integrate .. //depot/projects/vm/dev/kbd/atkbd.c#2 integrate .. //depot/projects/vm/dev/owi/if_owi.c#2 integrate .. //depot/projects/vm/dev/pccard/card_if.m#2 integrate .. //depot/projects/vm/dev/pccard/pccard.c#2 integrate .. //depot/projects/vm/dev/pccard/pccard_cis.c#2 integrate .. //depot/projects/vm/dev/pccard/pccard_cis.h#1 branch .. //depot/projects/vm/dev/pccard/pccard_cis_quirks.c#2 integrate .. //depot/projects/vm/dev/pccard/pccarddevs#2 integrate .. //depot/projects/vm/dev/pccard/pccarddevs.h#2 integrate .. //depot/projects/vm/dev/pccard/pccardreg.h#2 integrate .. //depot/projects/vm/dev/pci/pci_user.c#2 integrate .. //depot/projects/vm/dev/sio/sio_pccard.c#2 integrate .. //depot/projects/vm/dev/sound/pci/au88x0.c#2 integrate .. //depot/projects/vm/dev/sound/pci/au88x0.h#2 integrate .. //depot/projects/vm/dev/sound/pcm/ac97.c#2 integrate .. //depot/projects/vm/dev/uart/uart_bus_pccard.c#2 integrate .. //depot/projects/vm/dev/usb/ugen.c#2 integrate .. //depot/projects/vm/dev/usb/usbdevs#2 integrate .. //depot/projects/vm/dev/usb/usbdevs.h#2 integrate .. //depot/projects/vm/dev/usb/usbdevs_data.h#2 integrate .. //depot/projects/vm/dev/xe/if_xe.c#2 integrate .. //depot/projects/vm/dev/xe/if_xe_pccard.c#2 integrate .. //depot/projects/vm/dev/xe/if_xereg.h#2 integrate .. //depot/projects/vm/dev/xe/if_xevar.h#2 integrate .. //depot/projects/vm/fs/specfs/spec_vnops.c#2 integrate .. //depot/projects/vm/geom/bde/g_bde.h#2 integrate .. //depot/projects/vm/geom/bde/g_bde_lock.c#2 integrate .. //depot/projects/vm/geom/geom_dev.c#2 integrate .. //depot/projects/vm/geom/geom_event.c#2 integrate .. //depot/projects/vm/i386/i386/locore.s#2 integrate .. //depot/projects/vm/i386/i386/machdep.c#2 integrate .. //depot/projects/vm/i386/i386/trap.c#2 integrate .. //depot/projects/vm/i386/ibcs2/ibcs2_misc.c#2 integrate .. //depot/projects/vm/i386/ibcs2/ibcs2_signal.c#2 integrate .. //depot/projects/vm/i386/ibcs2/ibcs2_socksys.c#2 integrate .. //depot/projects/vm/i386/ibcs2/ibcs2_util.c#2 integrate .. //depot/projects/vm/i386/ibcs2/ibcs2_util.h#2 integrate .. //depot/projects/vm/i386/ibcs2/imgact_coff.c#2 integrate .. //depot/projects/vm/i386/isa/apic_vector.s#2 integrate .. //depot/projects/vm/i386/isa/isa_compat.c#2 integrate .. //depot/projects/vm/ia64/ia64/machdep.c#2 integrate .. //depot/projects/vm/ia64/ia64/trap.c#2 integrate .. //depot/projects/vm/ia64/ia64/unwind.c#2 integrate .. //depot/projects/vm/kern/kern_clock.c#2 integrate .. //depot/projects/vm/kern/kern_idle.c#2 integrate .. //depot/projects/vm/kern/kern_poll.c#2 integrate .. //depot/projects/vm/kern/kern_proc.c#2 integrate .. //depot/projects/vm/kern/kern_sig.c#2 integrate .. //depot/projects/vm/kern/kern_switch.c#2 integrate .. //depot/projects/vm/kern/kern_synch.c#2 integrate .. //depot/projects/vm/kern/sched_4bsd.c#2 integrate .. //depot/projects/vm/kern/sched_ule.c#2 integrate .. //depot/projects/vm/kern/subr_bus.c#2 integrate .. //depot/projects/vm/kern/subr_disk.c#2 integrate .. //depot/projects/vm/kern/subr_kobj.c#2 integrate .. //depot/projects/vm/kern/sys_pipe.c#2 integrate .. //depot/projects/vm/kern/sys_process.c#2 integrate .. //depot/projects/vm/kern/tty_cons.c#2 integrate .. //depot/projects/vm/kern/vfs_bio.c#2 integrate .. //depot/projects/vm/kern/vfs_subr.c#2 integrate .. //depot/projects/vm/modules/netgraph/bluetooth/bluetooth/Makefile#2 integrate .. //depot/projects/vm/modules/netgraph/bluetooth/bt3c/Makefile#2 integrate .. //depot/projects/vm/modules/netgraph/bluetooth/h4/Makefile#2 integrate .. //depot/projects/vm/modules/netgraph/bluetooth/hci/Makefile#2 integrate .. //depot/projects/vm/modules/netgraph/bluetooth/l2cap/Makefile#2 integrate .. //depot/projects/vm/modules/netgraph/bluetooth/socket/Makefile#2 integrate .. //depot/projects/vm/modules/netgraph/bluetooth/ubt/Makefile#2 integrate .. //depot/projects/vm/modules/netgraph/bluetooth/ubtbcmfw/Makefile#2 integrate .. //depot/projects/vm/net/if.c#2 integrate .. //depot/projects/vm/net/if_ethersubr.c#2 integrate .. //depot/projects/vm/net/if_var.h#2 integrate .. //depot/projects/vm/net/net_osdep.c#2 integrate .. //depot/projects/vm/net/pfkeyv2.h#2 integrate .. //depot/projects/vm/net/route.c#2 integrate .. //depot/projects/vm/net80211/ieee80211_crypto.c#2 integrate .. //depot/projects/vm/net80211/ieee80211_input.c#2 integrate .. //depot/projects/vm/net80211/ieee80211_ioctl.c#2 integrate .. //depot/projects/vm/net80211/ieee80211_ioctl.h#2 integrate .. //depot/projects/vm/net80211/ieee80211_node.c#2 integrate .. //depot/projects/vm/net80211/ieee80211_node.h#2 integrate .. //depot/projects/vm/net80211/ieee80211_output.c#2 integrate .. //depot/projects/vm/net80211/ieee80211_proto.c#2 integrate .. //depot/projects/vm/net80211/ieee80211_var.h#2 integrate .. //depot/projects/vm/netgraph/bluetooth/drivers/ubt/ng_ubt.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/hci/ng_hci_cmds.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/hci/ng_hci_evnt.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/hci/ng_hci_misc.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/hci/ng_hci_misc.h#2 integrate .. //depot/projects/vm/netgraph/bluetooth/hci/ng_hci_ulpi.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/l2cap/ng_l2cap_cmds.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/l2cap/ng_l2cap_evnt.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/l2cap/ng_l2cap_misc.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/l2cap/ng_l2cap_misc.h#2 integrate .. //depot/projects/vm/netgraph/bluetooth/socket/ng_btsocket.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#2 integrate .. //depot/projects/vm/netinet/icmp6.h#2 integrate .. //depot/projects/vm/netinet/in_gif.c#2 integrate .. //depot/projects/vm/netinet/in_gif.h#2 integrate .. //depot/projects/vm/netinet/in_rmx.c#2 integrate .. //depot/projects/vm/netinet/ip_dummynet.c#2 integrate .. //depot/projects/vm/netinet/ip_fw2.c#2 integrate .. //depot/projects/vm/netinet/ip_input.c#2 integrate .. //depot/projects/vm/netinet/ip_var.h#2 integrate .. //depot/projects/vm/netinet/tcp_input.c#2 integrate .. //depot/projects/vm/netinet6/ah.h#2 integrate .. //depot/projects/vm/netinet6/ah6.h#2 integrate .. //depot/projects/vm/netinet6/ah_aesxcbcmac.c#1 branch .. //depot/projects/vm/netinet6/ah_aesxcbcmac.h#1 branch .. //depot/projects/vm/netinet6/ah_core.c#2 integrate .. //depot/projects/vm/netinet6/ah_input.c#2 integrate .. //depot/projects/vm/netinet6/ah_output.c#2 integrate .. //depot/projects/vm/netinet6/dest6.c#2 integrate .. //depot/projects/vm/netinet6/esp.h#2 integrate .. //depot/projects/vm/netinet6/esp_aesctr.c#1 branch .. //depot/projects/vm/netinet6/esp_aesctr.h#1 branch .. //depot/projects/vm/netinet6/esp_core.c#2 integrate .. //depot/projects/vm/netinet6/esp_input.c#2 integrate .. //depot/projects/vm/netinet6/esp_output.c#2 integrate .. //depot/projects/vm/netinet6/esp_rijndael.c#2 integrate .. //depot/projects/vm/netinet6/esp_rijndael.h#2 integrate .. //depot/projects/vm/netinet6/frag6.c#2 integrate .. //depot/projects/vm/netinet6/icmp6.c#2 integrate .. //depot/projects/vm/netinet6/in6.c#2 integrate .. //depot/projects/vm/netinet6/in6.h#2 integrate .. //depot/projects/vm/netinet6/in6_cksum.c#2 integrate .. //depot/projects/vm/netinet6/in6_gif.c#2 integrate .. //depot/projects/vm/netinet6/in6_gif.h#2 integrate .. //depot/projects/vm/netinet6/in6_ifattach.c#2 integrate .. //depot/projects/vm/netinet6/in6_pcb.c#2 integrate .. //depot/projects/vm/netinet6/in6_proto.c#2 integrate .. //depot/projects/vm/netinet6/in6_rmx.c#2 integrate .. //depot/projects/vm/netinet6/in6_src.c#2 integrate .. //depot/projects/vm/netinet6/in6_var.h#2 integrate .. //depot/projects/vm/netinet6/ip6_forward.c#2 integrate .. //depot/projects/vm/netinet6/ip6_fw.c#2 integrate .. //depot/projects/vm/netinet6/ip6_fw.h#2 integrate .. //depot/projects/vm/netinet6/ip6_input.c#2 integrate .. //depot/projects/vm/netinet6/ip6_mroute.c#2 integrate .. //depot/projects/vm/netinet6/ip6_output.c#2 integrate .. //depot/projects/vm/netinet6/ip6_var.h#2 integrate .. //depot/projects/vm/netinet6/ip6protosw.h#2 integrate .. //depot/projects/vm/netinet6/ipcomp_core.c#2 integrate .. //depot/projects/vm/netinet6/ipcomp_input.c#2 integrate .. //depot/projects/vm/netinet6/ipsec.c#2 integrate .. //depot/projects/vm/netinet6/ipsec.h#2 integrate .. //depot/projects/vm/netinet6/mld6.c#2 integrate .. //depot/projects/vm/netinet6/mld6_var.h#2 integrate .. //depot/projects/vm/netinet6/nd6.c#2 integrate .. //depot/projects/vm/netinet6/nd6.h#2 integrate .. //depot/projects/vm/netinet6/nd6_nbr.c#2 integrate .. //depot/projects/vm/netinet6/nd6_rtr.c#2 integrate .. //depot/projects/vm/netinet6/raw_ip6.c#2 integrate .. //depot/projects/vm/netinet6/scope6.c#2 integrate .. //depot/projects/vm/netinet6/scope6_var.h#2 integrate .. //depot/projects/vm/netinet6/udp6_usrreq.c#2 integrate .. //depot/projects/vm/netkey/key_var.h#2 integrate .. //depot/projects/vm/pc98/i386/machdep.c#2 integrate .. //depot/projects/vm/pci/if_ti.c#2 integrate .. //depot/projects/vm/sparc64/sparc64/trap.c#2 integrate .. //depot/projects/vm/sys/bus.h#2 integrate .. //depot/projects/vm/sys/conf.h#2 integrate .. //depot/projects/vm/sys/cons.h#2 integrate .. //depot/projects/vm/sys/domain.h#2 integrate .. //depot/projects/vm/sys/endian.h#2 integrate .. //depot/projects/vm/sys/kernel.h#2 integrate .. //depot/projects/vm/sys/kobj.h#2 integrate .. //depot/projects/vm/sys/mutex.h#2 integrate .. //depot/projects/vm/sys/param.h#2 integrate .. //depot/projects/vm/sys/ptrace.h#2 integrate .. //depot/projects/vm/sys/sched.h#2 integrate .. //depot/projects/vm/tools/makeobjops.awk#2 integrate .. //depot/projects/vm/ufs/ffs/ffs_snapshot.c#2 integrate .. //depot/projects/vm/vm/vm_fault.c#2 integrate Differences ... ==== //depot/projects/vm/alpha/alpha/trap.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/alpha/trap.c,v 1.116 2003/08/22 07:20:25 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/trap.c,v 1.117 2003/10/09 10:17:15 robert Exp $"); /* #include "opt_fix_unaligned_vax_fp.h" */ #include "opt_ddb.h" @@ -45,6 +45,7 @@ #include <sys/smp.h> #include <sys/vmmeter.h> #include <sys/sysent.h> +#include <sys/signalvar.h> #include <sys/syscall.h> #include <sys/pioctl.h> #include <vm/vm.h> @@ -729,6 +730,8 @@ STOPEVENT(p, S_SCE, (callp->sy_narg & SYF_ARGMASK)); + PTRACESTOP_SC(p, td, S_PT_SCE); + error = (*callp->sy_call)(td, args + hidden); } @@ -775,6 +778,8 @@ */ STOPEVENT(p, S_SCX, code); + PTRACESTOP_SC(p, td, S_PT_SCX); + #ifdef DIAGNOSTIC cred_free_thread(td); #endif ==== //depot/projects/vm/amd64/amd64/exception.S#2 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.112 2003/09/22 22:54:14 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.113 2003/10/15 02:04:52 peter Exp $ */ #include <machine/asmacros.h> @@ -228,7 +228,7 @@ movq %rsp,PCPU(SCRATCH_RSP) movq common_tss+COMMON_TSS_RSP0,%rsp /* Now emulate a trapframe. Make the 8 byte alignment odd for call. */ - subq $TF_SIZE+8,%rsp + subq $TF_SIZE,%rsp /* defer TF_RSP till we have a spare register */ movq %r11,TF_RFLAGS(%rsp) movq %rcx,TF_RIP(%rsp) /* %rcx original value is in %r10 */ ==== //depot/projects/vm/amd64/amd64/trap.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.264 2003/09/22 22:52:46 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.266 2003/10/15 02:04:52 peter Exp $"); /* * AMD64 Trap and System call handling @@ -55,6 +55,7 @@ #include <sys/systm.h> #include <sys/proc.h> #include <sys/pioctl.h> +#include <sys/ptrace.h> #include <sys/kernel.h> #include <sys/ktr.h> #include <sys/lock.h> @@ -257,6 +258,9 @@ default: ucode = code + BUS_SEGM_FAULT ; i = SIGBUS; +printf("trap %d: pid %d err %p eva %p, rip %p, rax %p, rbx %p, rcx %p, rdx %p, rsp %p, rbp %p, rsi %p, rdi %p\n", type, p->p_pid, (void *)frame.tf_err, +(void *)frame.tf_addr, (void *)frame.tf_rip, (void *)frame.tf_rax, (void *)frame.tf_rbx, (void *)frame.tf_rcx, (void *)frame.tf_rdx, (void *)frame.tf_rsp, (void *)frame.tf_rbp, (void *)frame.tf_rsi, (void *)frame.tf_rdi); + break; case T_PAGEFLT: /* page fault */ @@ -541,6 +545,12 @@ return (-1); } +printf("trap_pfault: pid %d %s %s %s eva %p, rip %p, rax %p, rbx %p, rcx %p, rdx %p, rsp %p, rbp %p, rsi %p, rdi %p\n", p->p_pid, + frame->tf_err & PGEX_U ? "user" : "supervisor", + frame->tf_err & PGEX_W ? "write" : "read", + frame->tf_err & PGEX_P ? "protection violation" : "page not present", +(void *)eva, (void *)frame->tf_rip, (void *)frame->tf_rax, (void *)frame->tf_rbx, (void *)frame->tf_rcx, (void *)frame->tf_rdx, (void *)frame->tf_rsp, (void *)frame->tf_rbp, (void *)frame->tf_rsi, (void *)frame->tf_rdi); + return((rv == KERN_PROTECTION_FAILURE) ? SIGBUS : SIGSEGV); } @@ -740,6 +750,8 @@ STOPEVENT(p, S_SCE, narg); + PTRACESTOP_SC(p, td, S_PT_SCE); + error = (*callp->sy_call)(td, argp); } @@ -808,6 +820,8 @@ */ STOPEVENT(p, S_SCX, code); + PTRACESTOP_SC(p, td, S_PT_SCX); + #ifdef DIAGNOSTIC cred_free_thread(td); #endif ==== //depot/projects/vm/amd64/include/frame.h#2 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)frame.h 5.2 (Berkeley) 1/18/91 - * $FreeBSD: src/sys/amd64/include/frame.h,v 1.24 2003/05/12 18:33:19 peter Exp $ + * $FreeBSD: src/sys/amd64/include/frame.h,v 1.25 2003/10/15 02:04:52 peter Exp $ */ #ifndef _MACHINE_FRAME_H_ @@ -69,6 +69,7 @@ register_t tf_r15; register_t tf_trapno; register_t tf_addr; + register_t tf_flags; /* below portion defined in hardware */ register_t tf_err; register_t tf_rip; @@ -98,6 +99,7 @@ register_t if_r15; register_t :64; /* compat with trap frame - trapno */ register_t :64; /* compat with trap frame - addr */ + register_t :64; /* compat with trap frame - flags */ register_t :64; /* compat with trap frame - err */ /* below portion defined in hardware */ register_t if_rip; @@ -127,6 +129,7 @@ register_t cf_r15; register_t :64; /* compat with trap frame - trapno */ register_t :64; /* compat with trap frame - addr */ + register_t :64; /* compat with trap frame - flags */ register_t :64; /* compat with trap frame - err */ /* below portion defined in hardware */ register_t cf_rip; ==== //depot/projects/vm/amd64/include/signal.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)signal.h 8.1 (Berkeley) 6/11/93 - * $FreeBSD: src/sys/amd64/include/signal.h,v 1.23 2003/09/08 18:31:48 peter Exp $ + * $FreeBSD: src/sys/amd64/include/signal.h,v 1.24 2003/10/15 02:04:52 peter Exp $ */ #ifndef _MACHINE_SIGNAL_H_ @@ -91,6 +91,7 @@ long sc_r15; long sc_trapno; long sc_addr; + long sc_flags; long sc_err; long sc_rip; long sc_cs; @@ -104,9 +105,8 @@ */ long sc_fpformat; long sc_ownedfp; - long sc_spare1[1]; long sc_fpstate[64] __aligned(16); - long sc_spare2[8]; + long sc_spare[8]; }; #endif /* __BSD_VISIBLE */ ==== //depot/projects/vm/amd64/include/ucontext.h#2 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/ucontext.h,v 1.15 2003/10/01 01:08:04 peter Exp $ + * $FreeBSD: src/sys/amd64/include/ucontext.h,v 1.16 2003/10/15 02:04:52 peter Exp $ */ #ifndef _MACHINE_UCONTEXT_H_ @@ -55,6 +55,7 @@ __register_t mc_r15; __register_t mc_trapno; __register_t mc_addr; + __register_t mc_flags; __register_t mc_err; __register_t mc_rip; __register_t mc_cs; @@ -70,12 +71,11 @@ #define _MC_FPOWNED_FPU 0x20001 /* FP state came from FPU */ #define _MC_FPOWNED_PCB 0x20002 /* FP state came from PCB */ long mc_ownedfp; - long mc_spare1[1]; /* align mc_fpstate to 16 bytes */ /* * See <machine/npx.h> for the internals of mc_fpstate[]. */ long mc_fpstate[64] __aligned(16); - long mc_spare2[8]; + long mc_spare[8]; } mcontext_t; #endif /* !_MACHINE_UCONTEXT_H_ */ ==== //depot/projects/vm/cam/scsi/scsi_cd.c#2 (text+ko) ==== @@ -46,7 +46,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.85 2003/10/06 10:39:13 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.86 2003/10/07 14:46:59 thomas Exp $"); #include "opt_cd.h" @@ -92,17 +92,18 @@ } cd_quirks; typedef enum { - CD_FLAG_INVALID = 0x001, - CD_FLAG_NEW_DISC = 0x002, - CD_FLAG_DISC_LOCKED = 0x004, - CD_FLAG_DISC_REMOVABLE = 0x008, - CD_FLAG_TAGGED_QUEUING = 0x010, - CD_FLAG_CHANGER = 0x040, - CD_FLAG_ACTIVE = 0x080, - CD_FLAG_SCHED_ON_COMP = 0x100, - CD_FLAG_RETRY_UA = 0x200, - CD_FLAG_VALID_MEDIA = 0x400, - CD_FLAG_VALID_TOC = 0x800 + CD_FLAG_INVALID = 0x0001, + CD_FLAG_NEW_DISC = 0x0002, + CD_FLAG_DISC_LOCKED = 0x0004, + CD_FLAG_DISC_REMOVABLE = 0x0008, + CD_FLAG_TAGGED_QUEUING = 0x0010, + CD_FLAG_CHANGER = 0x0040, + CD_FLAG_ACTIVE = 0x0080, + CD_FLAG_SCHED_ON_COMP = 0x0100, + CD_FLAG_RETRY_UA = 0x0200, + CD_FLAG_VALID_MEDIA = 0x0400, + CD_FLAG_VALID_TOC = 0x0800, + CD_FLAG_SCTX_INIT = 0x1000 } cd_flags; typedef enum { @@ -421,7 +422,8 @@ xpt_print_path(periph->path); printf("removing device entry\n"); - if (sysctl_ctx_free(&softc->sysctl_ctx) != 0) { + if ((softc->flags & CD_FLAG_SCTX_INIT) != 0 + && sysctl_ctx_free(&softc->sysctl_ctx) != 0) { xpt_print_path(periph->path); printf("can't remove sysctl context\n"); } @@ -581,6 +583,7 @@ mtx_lock(&Giant); sysctl_ctx_init(&softc->sysctl_ctx); + softc->flags |= CD_FLAG_SCTX_INIT; softc->sysctl_tree = SYSCTL_ADD_NODE(&softc->sysctl_ctx, SYSCTL_STATIC_CHILDREN(_kern_cam_cd), OID_AUTO, tmpstr2, CTLFLAG_RD, 0, tmpstr); ==== //depot/projects/vm/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.159 2003/09/04 01:01:20 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.160 2003/10/08 07:12:30 thomas Exp $"); #ifdef _KERNEL #include "opt_da.h" @@ -89,7 +89,8 @@ DA_FLAG_NEED_OTAG = 0x020, DA_FLAG_WENT_IDLE = 0x040, DA_FLAG_RETRY_UA = 0x080, - DA_FLAG_OPEN = 0x100 + DA_FLAG_OPEN = 0x100, + DA_FLAG_SCTX_INIT = 0x200 } da_flags; typedef enum { @@ -838,7 +839,8 @@ /* * If we can't free the sysctl tree, oh well... */ - if (sysctl_ctx_free(&softc->sysctl_ctx) != 0) { + if ((softc->flags & DA_FLAG_SCTX_INIT) != 0 + && sysctl_ctx_free(&softc->sysctl_ctx) != 0) { xpt_print_path(periph->path); printf("can't remove sysctl context\n"); } @@ -925,6 +927,7 @@ mtx_lock(&Giant); sysctl_ctx_init(&softc->sysctl_ctx); + softc->flags |= DA_FLAG_SCTX_INIT; softc->sysctl_tree = SYSCTL_ADD_NODE(&softc->sysctl_ctx, SYSCTL_STATIC_CHILDREN(_kern_cam_da), OID_AUTO, tmpstr2, CTLFLAG_RD, 0, tmpstr); ==== //depot/projects/vm/compat/linprocfs/linprocfs.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.75 2003/09/30 13:35:19 des Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.76 2003/10/08 18:05:59 gallatin Exp $"); #include <sys/param.h> #include <sys/queue.h> @@ -413,7 +413,7 @@ static int linprocfs_dostat(PFS_FILL_ARGS) { - unsigned int olen, plen; + size_t olen, plen; int name[2]; int i, ncpu; ==== //depot/projects/vm/compat/linux/linux_socket.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.42 2003/06/10 21:27:39 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.43 2003/10/11 15:08:32 iwasaki Exp $"); /* XXX we use functions that might not exist. */ #include "opt_compat.h" @@ -225,6 +225,17 @@ } static int +bsd_to_linux_sockopt_level(int level) +{ + + switch (level) { + case SOL_SOCKET: + return (LINUX_SOL_SOCKET); + } + return (level); +} + +static int linux_to_bsd_ip_sockopt(int opt) { @@ -995,9 +1006,9 @@ } */ bsd_args; struct msghdr msg; struct msghdr *nmsg = NULL; + struct cmsghdr *cmsg; int error; - int level; - caddr_t control; + caddr_t sg; if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); @@ -1006,54 +1017,39 @@ if (error) return (error); - if (msg.msg_name) { + sg = stackgap_init(); + nmsg = (struct msghdr *)stackgap_alloc(&sg, sizeof(struct msghdr)); + if (nmsg == NULL) + return (ENOMEM); + + bcopy(&msg, nmsg, sizeof(struct msghdr)); + + if (msg.msg_name != NULL) { struct sockaddr *sa; - caddr_t sg = stackgap_init(); - nmsg = (struct msghdr *) stackgap_alloc(&sg, - sizeof(struct msghdr)); - if (!nmsg) - return (ENOMEM); - error = linux_sa_get(&sg, &sa, (struct osockaddr *) msg.msg_name, &msg.msg_namelen); if (error) return (error); - msg.msg_name = (struct sockaddr *) sa; - error = copyout(&msg, nmsg, sizeof(struct msghdr)); - if (error) - return (error); + nmsg->msg_name = sa; } - error = copyin(&linux_args.msg->msg_control, &control, - sizeof(caddr_t)); - if (error) - return (error); + if (msg.msg_control != NULL) { + nmsg->msg_control = (struct cmsghdr *)stackgap_alloc(&sg, + msg.msg_controllen); + if (nmsg->msg_control == NULL) + return (ENOMEM); - if (control == NULL) - goto done; + bcopy(msg.msg_control, nmsg->msg_control, msg.msg_controllen); + cmsg = (struct cmsghdr*)nmsg->msg_control; - error = copyin(&((struct cmsghdr*)control)->cmsg_level, &level, - sizeof(int)); - if (error) - return (error); + cmsg->cmsg_level = linux_to_bsd_sockopt_level(cmsg->cmsg_level); + } - if (level == 1) { - /* - * Linux thinks that SOL_SOCKET is 1; we know - * that it's really 0xffff, of course. - */ - level = SOL_SOCKET; - error = copyout(&level, - &((struct cmsghdr *)control)->cmsg_level, sizeof(int)); - if (error) - return (error); - } -done: bsd_args.s = linux_args.s; bsd_args.msg = (caddr_t)nmsg; - bsd_args.flags = linux_args.flags; + bsd_args.flags = linux_to_bsd_msg_flags(linux_args.flags); return (sendmsg(td, &bsd_args)); } @@ -1073,6 +1069,7 @@ int flags; } */ bsd_args; struct msghdr msg; + struct cmsghdr *cmsg; int error; if ((error = copyin(args, &linux_args, sizeof(linux_args)))) @@ -1085,6 +1082,11 @@ if (error) return (error); + if (bsd_args.msg->msg_control != NULL) { + cmsg = (struct cmsghdr*)bsd_args.msg->msg_control; + cmsg->cmsg_level = bsd_to_linux_sockopt_level(cmsg->cmsg_level); + } + error = copyin(linux_args.msg, &msg, sizeof(msg)); if (error) return (error); ==== //depot/projects/vm/conf/files#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.828 2003/10/01 15:13:29 ume Exp $ +# $FreeBSD: src/sys/conf/files,v 1.834 2003/10/15 08:53:04 phk Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -201,12 +201,14 @@ contrib/ipfilter/netinet/ip_proxy.c optional ipfilter inet contrib/ipfilter/netinet/ip_state.c optional ipfilter inet contrib/ipfilter/netinet/mlfk_ipl.c optional ipfilter inet +crypto/blowfish/bf_ecb.c optional ipsec ipsec_esp crypto/blowfish/bf_skey.c optional ipsec ipsec_esp crypto/cast128/cast128.c optional ipsec ipsec_esp crypto/des/des_ecb.c optional ipsec ipsec_esp crypto/des/des_setkey.c optional ipsec ipsec_esp -crypto/rijndael/rijndael-alg-fst.c optional ipsec ipsec_esp -crypto/rijndael/rijndael-api-fst.c optional ipsec ipsec_esp +crypto/rijndael/rijndael-alg-fst.c optional ipsec +crypto/rijndael/rijndael-api-fst.c optional ipsec +opencrypto/rmd160.c optional ipsec crypto/sha1.c optional ipsec crypto/sha2/sha2.c optional ipsec ddb/db_access.c optional ddb @@ -947,6 +949,9 @@ geom/bde/g_bde_crypt.c optional geom_bde geom/bde/g_bde_lock.c optional geom_bde geom/bde/g_bde_work.c optional geom_bde +crypto/rijndael/rijndael-alg-fst.c optional geom_bde +crypto/rijndael/rijndael-api-fst.c optional geom_bde +crypto/sha2/sha2.c optional geom_bde geom/geom_aes.c optional geom_aes geom/geom_apple.c optional geom_apple geom/geom_bsd.c optional geom_bsd @@ -972,8 +977,6 @@ geom/geom_sunlabel.c optional geom_sunlabel geom/geom_sunlabel_enc.c optional geom_sunlabel geom/geom_vol_ffs.c optional geom_vol -crypto/rijndael/rijndael-alg-fst.c optional geom -crypto/rijndael/rijndael-api-fst.c optional geom gnu/ext2fs/ext2_alloc.c optional ext2fs \ warning "kernel contains GPL contaminated ext2fs filesystem" gnu/ext2fs/ext2_balloc.c optional ext2fs @@ -1435,10 +1438,12 @@ netinet/tcp_timer.c optional inet netinet/tcp_usrreq.c optional inet netinet/udp_usrreq.c optional inet +netinet6/ah_aesxcbcmac.c optional ipsec netinet6/ah_core.c optional ipsec netinet6/ah_input.c optional ipsec netinet6/ah_output.c optional ipsec netinet6/dest6.c optional inet6 +netinet6/esp_aesctr.c optional ipsec ipsec_esp netinet6/esp_core.c optional ipsec ipsec_esp netinet6/esp_input.c optional ipsec ipsec_esp netinet6/esp_output.c optional ipsec ipsec_esp ==== //depot/projects/vm/conf/files.amd64#2 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.amd64,v 1.23 2003/09/06 23:23:25 marcel Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.24 2003/10/14 05:51:31 alc Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -73,6 +73,7 @@ amd64/amd64/sys_machdep.c standard amd64/amd64/trap.c standard amd64/amd64/tsc.c standard +amd64/amd64/uma_machdep.c standard amd64/amd64/vm_machdep.c standard amd64/amd64/in_cksum.c optional inet ==== //depot/projects/vm/contrib/ia64/libuwx/src/Makefile#2 (text+ko) ==== @@ -8,11 +8,11 @@ AR = ar RANLIB = : +OTHERCFLAGS = # OTHERCFLAGS = -DUWX_TRACE_ENABLE # Enables trace output # OTHERCFLAGS = +DD64 # Builds 64-bit library -OTHERCFLAGS = -CFLAGS = +W944 -O $(OTHERCFLAGS) +CFLAGS = -O $(OTHERCFLAGS) OBJS = uwx_bstream.o uwx_context.o uwx_env.o uwx_scoreboard.o \ uwx_step.o uwx_str.o uwx_swap.o uwx_trace.o uwx_uinfo.o \ @@ -36,7 +36,7 @@ uwx_bstream.o: uwx.h uwx_env.h uwx_bstream.h -uwx_context.o: uwx.h uwx_env.h uwx_scoreboard.h uwx_trace.h +uwx_context.o: uwx.h uwx_env.h uwx_scoreboard.h uwx_step.h uwx_trace.h uwx_env.o: uwx.h uwx_env.h uwx_scoreboard.h uwx_str.h uwx_trace.h ==== //depot/projects/vm/contrib/ia64/libuwx/src/uwx.h#2 (text+ko) ==== @@ -208,18 +208,26 @@ #define UWX_REG_CFM 3 /* cfm (no spill info) */ #define UWX_REG_RP 4 /* rp (pseudo-register) */ #define UWX_REG_PSP 5 /* psp (pseudo-register) */ -#define UWX_REG_PFS 6 /* ar.pfs */ +#define UWX_REG_PFS 6 /* pfs (pseudo-register) */ #define UWX_REG_PREDS 7 /* p0 - p63 */ #define UWX_REG_PRIUNAT 8 /* primary unat (pseudo-register) */ -#define UWX_REG_BSPSTORE 9 /* ar.bspstore */ -#define UWX_REG_RNAT 10 /* ar.rnat */ -#define UWX_REG_UNAT 11 /* ar.unat */ -#define UWX_REG_FPSR 12 /* ar.fpsr */ -#define UWX_REG_LC 13 /* ar.lc */ +#define UWX_REG_AR_PFS 9 /* ar.pfs */ +#define UWX_REG_AR_BSPSTORE 10 /* ar.bspstore */ +#define UWX_REG_AR_RNAT 11 /* ar.rnat */ +#define UWX_REG_AR_UNAT 12 /* ar.unat */ +#define UWX_REG_AR_FPSR 13 /* ar.fpsr */ +#define UWX_REG_AR_LC 14 /* ar.lc */ #define UWX_REG_GR(gr) (0x100 | (gr)) #define UWX_REG_FR(fr) (0x200 | (fr)) #define UWX_REG_BR(br) (0x300 | (br)) +/* for backwards compatibility with previous releases... */ +#define UWX_REG_BSPSTORE UWX_REG_AR_BSPSTORE +#define UWX_REG_RNAT UWX_REG_AR_RNAT +#define UWX_REG_UNAT UWX_REG_AR_UNAT +#define UWX_REG_FPSR UWX_REG_AR_FPSR +#define UWX_REG_LC UWX_REG_AR_LC + /* Values corresponding to UWX_KEY_SPILL keys indicate the disposition */ /* of the spilled register -- either in the memory stack or in another */ /* register. The PSP register may also have a disposition of "SPPLUS", */ ==== //depot/projects/vm/contrib/ia64/libuwx/src/uwx_context.c#2 (text+ko) ==== @@ -23,6 +23,7 @@ #include "uwx_env.h" #include "uwx_context.h" #include "uwx_scoreboard.h" +#include "uwx_step.h" #include "uwx_trace.h" int uwx_init_context( @@ -46,6 +47,7 @@ for (i = 0; i < NPRESERVEDGR; i++) env->context.gr[i] = 0; env->context.valid_regs = VALID_BASIC4; + env->context.valid_frs = 0; env->rstate = 0; (void)uwx_init_history(env); return UWX_OK; @@ -64,8 +66,17 @@ status = UWX_OK; + if (regid == UWX_REG_GR(12)) + regid = UWX_REG_SP; if (regid < NSPECIALREG && (env->context.valid_regs & (1 << regid))) *valp = env->context.special[regid]; + else if (regid == UWX_REG_PSP || regid == UWX_REG_RP || + regid == UWX_REG_PFS) { + status = uwx_restore_markers(env); + if (status != UWX_OK) + return status; + *valp = env->context.special[regid]; + } else if (regid >= UWX_REG_GR(4) && regid <= UWX_REG_GR(7) && (env->context.valid_regs & (1 << (regid - UWX_REG_GR(4) + VALID_GR_SHIFT))) ) @@ -94,13 +105,13 @@ (env->context.valid_regs & (1 << (regid - UWX_REG_BR(1) + VALID_BR_SHIFT))) ) *valp = env->context.br[regid - UWX_REG_BR(1)]; - else if (regid >= UWX_REG_FR(2) && regid <= UWX_REG_BR(5) && - (env->context.valid_frs & (1 << (regid - UWX_REG_FR(2)))) ) { + else if (regid >= UWX_REG_FR(2) && regid <= UWX_REG_FR(5) && + (env->context.valid_frs & (1 << (regid - UWX_REG_FR(2)))) ) { valp[0] = env->context.fr[regid - UWX_REG_FR(2)].part0; valp[1] = env->context.fr[regid - UWX_REG_FR(2)].part1; } - else if (regid >= UWX_REG_FR(16) && regid <= UWX_REG_BR(31) && - (env->context.valid_frs & (1 << (regid - UWX_REG_FR(2)))) ) { + else if (regid >= UWX_REG_FR(16) && regid <= UWX_REG_FR(31) && + (env->context.valid_frs & (1 << (regid - UWX_REG_FR(16) + 4))) ) { valp[0] = env->context.fr[regid - UWX_REG_FR(16) + 4].part0; valp[1] = env->context.fr[regid - UWX_REG_FR(16) + 4].part1; } @@ -114,7 +125,7 @@ if (n != DWORDSZ) status = UWX_ERR_COPYIN_REG; } - else if (regid >= UWX_REG_FR(2) && regid <= UWX_REG_BR(127)) { + else if (regid >= UWX_REG_FR(2) && regid <= UWX_REG_FR(127)) { if (env->copyin == 0) return UWX_ERR_NOCALLBACKS; n = (*env->copyin)(UWX_COPYIN_REG, (char *)valp, @@ -170,7 +181,7 @@ natcollp = bsp | 0x01f8; if (natcollp >= bsp) n = (*env->copyin)(UWX_COPYIN_REG, (char *)&natcoll, - (uint64_t)UWX_REG_RNAT, DWORDSZ, env->cb_token); + (uint64_t)UWX_REG_AR_RNAT, DWORDSZ, env->cb_token); else n = (*env->copyin)(UWX_COPYIN_RSTACK, (char *)&natcoll, bsp, DWORDSZ, env->cb_token); @@ -197,6 +208,8 @@ status = UWX_OK; + if (regid == UWX_REG_GR(12)) + regid = UWX_REG_SP; if (regid < NSPECIALREG) *dispp = env->history.special[regid]; else if (regid >= UWX_REG_GR(4) && regid <= UWX_REG_GR(7)) @@ -233,6 +246,8 @@ if (env == 0) return UWX_ERR_NOENV; + if (regid == UWX_REG_GR(12)) + regid = UWX_REG_SP; if (regid < NSPECIALREG) { env->context.special[regid] = val; env->context.valid_regs |= 1 << regid; ==== //depot/projects/vm/contrib/ia64/libuwx/src/uwx_env.h#2 (text+ko) ==== @@ -39,7 +39,7 @@ #define NSCOREBOARDS 8 /* Initial allocation of scoreboards */ -#define NSPECIALREG 14 +#define NSPECIALREG 16 /* Must be even, so FRs are aligned */ #define NPRESERVEDGR 4 #define NPRESERVEDBR 5 #define NPRESERVEDFR 20 @@ -61,7 +61,8 @@ #define VALID_GR_SHIFT NSPECIALREG #define VALID_BR_SHIFT (NSPECIALREG + NPRESERVEDGR) -#define VALID_BASIC4 0x0f /* IP, SP, BSP, PFS */ +#define VALID_BASIC4 0x0f /* IP, SP, BSP, CFM */ +#define VALID_MARKERS 0x70 /* RP, PSP, PFS */ struct uwx_history { uint64_t special[NSPECIALREG]; ==== //depot/projects/vm/contrib/ia64/libuwx/src/uwx_scoreboard.c#2 (text+ko) ==== @@ -63,8 +63,8 @@ sb->rstate[i] = UWX_DISP_NONE; sb->rstate[SBREG_RP] = UWX_DISP_REG(UWX_REG_BR(0)); sb->rstate[SBREG_PSP] = UWX_DISP_SPPLUS(0); - sb->rstate[SBREG_PFS] = UWX_DISP_REG(UWX_REG_PFS); - sb->rstate[SBREG_PRIUNAT] = UWX_DISP_REG(UWX_REG_UNAT); + sb->rstate[SBREG_PFS] = UWX_DISP_REG(UWX_REG_AR_PFS); + sb->rstate[SBREG_PRIUNAT] = UWX_DISP_REG(UWX_REG_AR_UNAT); sb->label = 0; return sb; } >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200310180315.h9I3FOku064801>
