PERFORCE change 146502 for review
Julian Elischer
julian at FreeBSD.org
Sun Aug 3 07:48:07 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=146502
Change 146502 by julian at julian_trafmon1 on 2008/08/03 07:47:15
IFC at 146500
Affected files ...
.. //depot/projects/vimage/src/sys/amd64/amd64/cpu_switch.S#8 integrate
.. //depot/projects/vimage/src/sys/amd64/amd64/genassym.c#9 integrate
.. //depot/projects/vimage/src/sys/amd64/amd64/pmap.c#20 integrate
.. //depot/projects/vimage/src/sys/amd64/conf/GENERIC#18 integrate
.. //depot/projects/vimage/src/sys/amd64/ia32/ia32_signal.c#3 integrate
.. //depot/projects/vimage/src/sys/amd64/include/param.h#4 integrate
.. //depot/projects/vimage/src/sys/amd64/include/pcb.h#4 integrate
.. //depot/projects/vimage/src/sys/amd64/include/pmap.h#7 integrate
.. //depot/projects/vimage/src/sys/amd64/linux32/linux32_machdep.c#12 integrate
.. //depot/projects/vimage/src/sys/arm/arm/db_interface.c#3 integrate
.. //depot/projects/vimage/src/sys/arm/arm/swtch.S#5 integrate
.. //depot/projects/vimage/src/sys/arm/at91/uart_dev_at91usart.c#7 integrate
.. //depot/projects/vimage/src/sys/arm/conf/AVILA#7 integrate
.. //depot/projects/vimage/src/sys/arm/include/db_machdep.h#2 integrate
.. //depot/projects/vimage/src/sys/bsm/audit.h#6 integrate
.. //depot/projects/vimage/src/sys/bsm/audit_internal.h#5 integrate
.. //depot/projects/vimage/src/sys/bsm/audit_kevents.h#5 integrate
.. //depot/projects/vimage/src/sys/bsm/audit_record.h#5 integrate
.. //depot/projects/vimage/src/sys/cam/cam_xpt.c#13 integrate
.. //depot/projects/vimage/src/sys/compat/linux/linux_ioctl.c#8 integrate
.. //depot/projects/vimage/src/sys/compat/linux/linux_ioctl.h#4 integrate
.. //depot/projects/vimage/src/sys/compat/linux/linux_misc.c#18 integrate
.. //depot/projects/vimage/src/sys/compat/ndis/kern_ndis.c#6 integrate
.. //depot/projects/vimage/src/sys/conf/NOTES#28 integrate
.. //depot/projects/vimage/src/sys/conf/files#33 integrate
.. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_compat.h#5 integrate
.. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_fil.h#4 integrate
.. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_nat.c#5 integrate
.. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_nat.h#4 integrate
.. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_state.c#6 integrate
.. //depot/projects/vimage/src/sys/contrib/pf/net/pf_ioctl.c#13 integrate
.. //depot/projects/vimage/src/sys/ddb/db_run.c#2 integrate
.. //depot/projects/vimage/src/sys/dev/acpica/acpi.c#12 integrate
.. //depot/projects/vimage/src/sys/dev/agp/agp_i810.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/atkbdc/psm.c#8 integrate
.. //depot/projects/vimage/src/sys/dev/bfe/if_bfe.c#6 integrate
.. //depot/projects/vimage/src/sys/dev/bfe/if_bfereg.h#3 integrate
.. //depot/projects/vimage/src/sys/dev/ciss/ciss.c#13 integrate
.. //depot/projects/vimage/src/sys/dev/ciss/cissreg.h#3 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#6 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_l2t.c#2 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_listen.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.h#3 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_tom.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/e1000/LICENSE#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/README#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_80003es2lan.c#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_80003es2lan.h#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_82540.c#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_82541.c#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_82541.h#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_82542.c#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_82543.c#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_82543.h#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_82571.c#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_82571.h#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_82575.c#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_82575.h#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_api.c#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_api.h#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_defines.h#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_hw.h#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_ich8lan.c#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_ich8lan.h#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_mac.c#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_mac.h#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_manage.c#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_manage.h#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_nvm.c#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_nvm.h#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_osdep.c#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_osdep.h#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_phy.c#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_phy.h#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/e1000_regs.h#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/if_em.c#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/if_em.h#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/if_igb.c#1 branch
.. //depot/projects/vimage/src/sys/dev/e1000/if_igb.h#1 branch
.. //depot/projects/vimage/src/sys/dev/em/LICENSE#4 delete
.. //depot/projects/vimage/src/sys/dev/em/README#4 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_80003es2lan.c#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_80003es2lan.h#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_82540.c#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_82541.c#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_82541.h#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_82542.c#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_82543.c#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_82543.h#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_82571.c#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_82571.h#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_api.c#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_api.h#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_defines.h#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_hw.h#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_ich8lan.c#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_ich8lan.h#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_mac.c#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_mac.h#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_manage.c#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_manage.h#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_nvm.c#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_nvm.h#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_osdep.c#2 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_osdep.h#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_phy.c#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_phy.h#5 delete
.. //depot/projects/vimage/src/sys/dev/em/e1000_regs.h#5 delete
.. //depot/projects/vimage/src/sys/dev/em/if_em.c#12 delete
.. //depot/projects/vimage/src/sys/dev/em/if_em.h#7 delete
.. //depot/projects/vimage/src/sys/dev/hwpmc/hwpmc_mod.c#7 integrate
.. //depot/projects/vimage/src/sys/dev/ie/if_ie.c#6 integrate
.. //depot/projects/vimage/src/sys/dev/ie/if_ie_isa.c#5 integrate
.. //depot/projects/vimage/src/sys/dev/ie/if_ievar.h#4 integrate
.. //depot/projects/vimage/src/sys/dev/igb/e1000_82575.c#2 delete
.. //depot/projects/vimage/src/sys/dev/igb/e1000_82575.h#2 delete
.. //depot/projects/vimage/src/sys/dev/igb/e1000_api.c#2 delete
.. //depot/projects/vimage/src/sys/dev/igb/e1000_api.h#2 delete
.. //depot/projects/vimage/src/sys/dev/igb/e1000_defines.h#2 delete
.. //depot/projects/vimage/src/sys/dev/igb/e1000_hw.h#2 delete
.. //depot/projects/vimage/src/sys/dev/igb/e1000_mac.c#2 delete
.. //depot/projects/vimage/src/sys/dev/igb/e1000_mac.h#2 delete
.. //depot/projects/vimage/src/sys/dev/igb/e1000_manage.c#2 delete
.. //depot/projects/vimage/src/sys/dev/igb/e1000_manage.h#2 delete
.. //depot/projects/vimage/src/sys/dev/igb/e1000_nvm.c#2 delete
.. //depot/projects/vimage/src/sys/dev/igb/e1000_nvm.h#2 delete
.. //depot/projects/vimage/src/sys/dev/igb/e1000_osdep.c#2 delete
.. //depot/projects/vimage/src/sys/dev/igb/e1000_osdep.h#2 delete
.. //depot/projects/vimage/src/sys/dev/igb/e1000_phy.c#2 delete
.. //depot/projects/vimage/src/sys/dev/igb/e1000_phy.h#2 delete
.. //depot/projects/vimage/src/sys/dev/igb/e1000_regs.h#2 delete
.. //depot/projects/vimage/src/sys/dev/igb/if_igb.c#2 delete
.. //depot/projects/vimage/src/sys/dev/igb/if_igb.h#2 delete
.. //depot/projects/vimage/src/sys/dev/iicbus/ds1339.c#1 branch
.. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe.h#5 integrate
.. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_82598.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_api.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_api.h#4 integrate
.. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_common.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_common.h#4 integrate
.. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_phy.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_phy.h#4 integrate
.. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_type.h#4 integrate
.. //depot/projects/vimage/src/sys/dev/jme/if_jme.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/kbd/kbd.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/kbdmux/kbdmux.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/nvram/nvram.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/pccard/pccarddevs#7 integrate
.. //depot/projects/vimage/src/sys/dev/pci/pci.c#13 integrate
.. //depot/projects/vimage/src/sys/dev/pci/pci_pci.c#7 integrate
.. //depot/projects/vimage/src/sys/dev/pci/pcivar.h#7 integrate
.. //depot/projects/vimage/src/sys/dev/usb/ehci_pci.c#8 integrate
.. //depot/projects/vimage/src/sys/dev/usb/ehcireg.h#2 integrate
.. //depot/projects/vimage/src/sys/dev/usb/if_rum.c#12 integrate
.. //depot/projects/vimage/src/sys/dev/usb/if_ural.c#15 integrate
.. //depot/projects/vimage/src/sys/dev/usb/ugen.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/usb/uhid.c#5 integrate
.. //depot/projects/vimage/src/sys/dev/usb/uipaq.c#6 integrate
.. //depot/projects/vimage/src/sys/dev/usb/usbdevs#24 integrate
.. //depot/projects/vimage/src/sys/dev/wi/if_wi.c#13 integrate
.. //depot/projects/vimage/src/sys/dev/wi/if_wi_pccard.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/wi/if_wi_pci.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/wi/if_wireg.h#2 integrate
.. //depot/projects/vimage/src/sys/dev/wi/if_wivar.h#5 integrate
.. //depot/projects/vimage/src/sys/i386/conf/GENERIC#20 integrate
.. //depot/projects/vimage/src/sys/i386/i386/mp_machdep.c#11 integrate
.. //depot/projects/vimage/src/sys/i386/i386/pmap.c#18 integrate
.. //depot/projects/vimage/src/sys/i386/include/profile.h#2 integrate
.. //depot/projects/vimage/src/sys/kern/kern_exec.c#13 integrate
.. //depot/projects/vimage/src/sys/kern/kern_lock.c#9 integrate
.. //depot/projects/vimage/src/sys/kern/kern_proc.c#11 integrate
.. //depot/projects/vimage/src/sys/kern/kern_timeout.c#15 integrate
.. //depot/projects/vimage/src/sys/kern/sched_4bsd.c#24 integrate
.. //depot/projects/vimage/src/sys/kern/subr_clist.c#2 integrate
.. //depot/projects/vimage/src/sys/kern/subr_lock.c#12 integrate
.. //depot/projects/vimage/src/sys/kern/subr_sleepqueue.c#9 integrate
.. //depot/projects/vimage/src/sys/kern/tty.c#16 integrate
.. //depot/projects/vimage/src/sys/kern/tty_info.c#1 branch
.. //depot/projects/vimage/src/sys/kern/uipc_usrreq.c#16 integrate
.. //depot/projects/vimage/src/sys/kern/vfs_cache.c#9 integrate
.. //depot/projects/vimage/src/sys/kern/vfs_subr.c#14 integrate
.. //depot/projects/vimage/src/sys/libkern/arc4random.c#3 integrate
.. //depot/projects/vimage/src/sys/modules/em/Makefile#5 integrate
.. //depot/projects/vimage/src/sys/modules/et/Makefile#2 integrate
.. //depot/projects/vimage/src/sys/modules/igb/Makefile#2 integrate
.. //depot/projects/vimage/src/sys/modules/mem/Makefile#3 integrate
.. //depot/projects/vimage/src/sys/modules/netgraph/bluetooth/socket/Makefile#2 integrate
.. //depot/projects/vimage/src/sys/modules/nfslockd/Makefile#3 integrate
.. //depot/projects/vimage/src/sys/net/bpf.c#22 integrate
.. //depot/projects/vimage/src/sys/net/bpf_buffer.c#2 integrate
.. //depot/projects/vimage/src/sys/net/bpfdesc.h#5 integrate
.. //depot/projects/vimage/src/sys/net/if.h#7 integrate
.. //depot/projects/vimage/src/sys/net/if_loop.c#22 integrate
.. //depot/projects/vimage/src/sys/net/if_media.h#6 integrate
.. //depot/projects/vimage/src/sys/net/route.c#19 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_dfs.c#2 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_freebsd.c#11 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_hostap.c#2 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_ht.c#9 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_input.c#11 integrate
.. //depot/projects/vimage/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#5 integrate
.. //depot/projects/vimage/src/sys/netgraph/bluetooth/include/ng_btsocket_sco.h#1 branch
.. //depot/projects/vimage/src/sys/netgraph/bluetooth/socket/ng_btsocket.c#2 integrate
.. //depot/projects/vimage/src/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#2 integrate
.. //depot/projects/vimage/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#6 integrate
.. //depot/projects/vimage/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#2 integrate
.. //depot/projects/vimage/src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#5 integrate
.. //depot/projects/vimage/src/sys/netgraph/bluetooth/socket/ng_btsocket_sco.c#1 branch
.. //depot/projects/vimage/src/sys/netgraph/ng_l2tp.c#6 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_divert.c#11 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_fw2.c#36 integrate
.. //depot/projects/vimage/src/sys/netinet/raw_ip.c#23 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp.h#14 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_asconf.c#20 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_bsd_addr.c#16 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_constants.h#23 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_input.c#27 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_output.c#28 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_pcb.c#28 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_pcb.h#20 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_timer.c#20 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_usrreq.c#29 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_var.h#20 integrate
.. //depot/projects/vimage/src/sys/netinet/sctputil.c#29 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_input.c#27 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_output.c#17 edit
.. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#43 edit
.. //depot/projects/vimage/src/sys/netinet/tcp_syncache.c#30 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_syncache.h#13 edit
.. //depot/projects/vimage/src/sys/netinet/tcp_usrreq.c#19 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_var.h#22 integrate
.. //depot/projects/vimage/src/sys/netinet/udp_usrreq.c#27 integrate
.. //depot/projects/vimage/src/sys/netinet/vinet.h#23 edit
.. //depot/projects/vimage/src/sys/netinet6/icmp6.c#24 integrate
.. //depot/projects/vimage/src/sys/netinet6/ip6_output.c#16 integrate
.. //depot/projects/vimage/src/sys/netinet6/raw_ip6.c#19 integrate
.. //depot/projects/vimage/src/sys/netipsec/ipsec.c#23 integrate
.. //depot/projects/vimage/src/sys/netipx/ipx_input.c#6 integrate
.. //depot/projects/vimage/src/sys/netipx/ipx_usrreq.c#6 integrate
.. //depot/projects/vimage/src/sys/nfsclient/nfs_vfsops.c#16 integrate
.. //depot/projects/vimage/src/sys/pci/if_sis.c#3 integrate
.. //depot/projects/vimage/src/sys/rpc/auth_unix.c#4 integrate
.. //depot/projects/vimage/src/sys/security/audit/audit.c#13 integrate
.. //depot/projects/vimage/src/sys/security/audit/audit.h#8 integrate
.. //depot/projects/vimage/src/sys/security/audit/audit_arg.c#10 integrate
.. //depot/projects/vimage/src/sys/security/audit/audit_bsm_klib.c#9 integrate
.. //depot/projects/vimage/src/sys/security/audit/audit_bsm_token.c#8 integrate
.. //depot/projects/vimage/src/sys/security/audit/audit_pipe.c#8 integrate
.. //depot/projects/vimage/src/sys/security/audit/audit_private.h#7 integrate
.. //depot/projects/vimage/src/sys/security/audit/audit_syscalls.c#12 integrate
.. //depot/projects/vimage/src/sys/security/audit/audit_worker.c#10 integrate
.. //depot/projects/vimage/src/sys/security/mac_biba/mac_biba.c#9 integrate
.. //depot/projects/vimage/src/sys/security/mac_bsdextended/mac_bsdextended.c#9 integrate
.. //depot/projects/vimage/src/sys/security/mac_lomac/mac_lomac.c#9 integrate
.. //depot/projects/vimage/src/sys/security/mac_mls/mac_mls.c#11 integrate
.. //depot/projects/vimage/src/sys/security/mac_partition/mac_partition.c#6 integrate
.. //depot/projects/vimage/src/sys/sys/callout.h#6 integrate
.. //depot/projects/vimage/src/sys/sys/elf_common.h#4 integrate
.. //depot/projects/vimage/src/sys/sys/proc.h#19 integrate
.. //depot/projects/vimage/src/sys/sys/procfs.h#2 integrate
.. //depot/projects/vimage/src/sys/sys/refcount.h#2 integrate
.. //depot/projects/vimage/src/sys/sys/sockbuf.h#1 branch
.. //depot/projects/vimage/src/sys/sys/socketvar.h#11 integrate
.. //depot/projects/vimage/src/sys/sys/sockio.h#4 integrate
.. //depot/projects/vimage/src/sys/sys/sockopt.h#1 branch
.. //depot/projects/vimage/src/sys/sys/sockstate.h#1 branch
.. //depot/projects/vimage/src/sys/sys/vnode.h#9 integrate
.. //depot/projects/vimage/src/sys/ufs/ffs/ffs_balloc.c#4 integrate
.. //depot/projects/vimage/src/sys/ufs/ufs/ufs_lookup.c#7 integrate
.. //depot/projects/vimage/src/sys/vm/swap_pager.c#13 integrate
.. //depot/projects/vimage/src/sys/vm/vm_object.c#15 integrate
.. //depot/projects/vimage/src/sys/vm/vnode_pager.c#9 integrate
Differences ...
==== //depot/projects/vimage/src/sys/amd64/amd64/cpu_switch.S#8 (text+ko) ====
@@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.161 2008/03/23 23:09:06 peter Exp $
+ * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.162 2008/07/30 11:30:55 kib Exp $
*/
#include <machine/asmacros.h>
@@ -113,8 +113,8 @@
movq PCB_GSBASE(%r8),%r10
testl $PCB_32BIT,PCB_FLAGS(%r8)
- jnz store_gs /* static predict not taken */
-done_store_gs:
+ jnz store_seg
+done_store_seg:
testl $PCB_DBREGS,PCB_FLAGS(%r8)
jnz store_dr /* static predict not taken */
@@ -176,6 +176,10 @@
testl $TDP_KTHREAD,TD_PFLAGS(%rsi)
jnz do_kthread
+ testl $PCB_32BIT,PCB_FLAGS(%r8)
+ jnz load_seg
+done_load_seg:
+
cmpq PCB_FSBASE(%r8),%r9
jz 1f
/* Restore userland %fs */
@@ -184,7 +188,6 @@
movl PCB_FSBASE+4(%r8),%edx
wrmsr
1:
-
cmpq PCB_GSBASE(%r8),%r10
jz 2f
/* Restore userland %gs */
@@ -193,8 +196,8 @@
movl PCB_GSBASE+4(%r8),%edx
wrmsr
2:
+
do_tss:
-
/* Update the TSS_RSP0 pointer for the next interrupt */
movq PCPU(TSSP), %rax
movq %r8, PCPU(RSP0)
@@ -208,10 +211,6 @@
jnz load_dr /* static predict not taken */
done_load_dr:
- testl $PCB_32BIT,PCB_FLAGS(%r8)
- jnz load_gs /* static predict not taken */
-done_load_gs:
-
/* Restore context. */
movq PCB_R15(%r8),%r15
movq PCB_R14(%r8),%r14
@@ -243,23 +242,35 @@
movq %r10,PCB_GSBASE(%r8)
jmp do_tss
-store_gs:
+store_seg:
movl %gs,PCB_GS(%r8)
- movq PCB_GS32P(%r8),%rax
+ testl $PCB_GS32BIT,PCB_FLAGS(%r8)
+ jnz 2f
+1: movl %ds,PCB_DS(%r8)
+ movl %es,PCB_ES(%r8)
+ movl %fs,PCB_FS(%r8)
+ jmp done_store_seg
+2: movq PCB_GS32P(%r8),%rax
movq (%rax),%rax
movq %rax,PCB_GS32SD(%r8)
- jmp done_store_gs
+ jmp 1b
-load_gs:
+load_seg:
+ testl $PCB_GS32BIT,PCB_FLAGS(%r8)
+ jnz 2f
+1: movl $MSR_GSBASE,%ecx
+ rdmsr
+ movl PCB_GS(%r8),%gs
+ wrmsr
+ movl PCB_DS(%r8),%ds
+ movl PCB_ES(%r8),%es
+ movl PCB_FS(%r8),%fs
+ jmp done_load_seg
/* Restore userland %gs while preserving kernel gsbase */
- movq PCB_GS32P(%r8),%rax
+2: movq PCB_GS32P(%r8),%rax
movq PCB_GS32SD(%r8),%rcx
movq %rcx,(%rax)
- movl $MSR_GSBASE,%ecx
- rdmsr
- movl PCB_GS(%r8),%gs
- wrmsr
- jmp done_load_gs
+ jmp 1b
store_dr:
movq %dr7,%rax /* yes, do the save */
==== //depot/projects/vimage/src/sys/amd64/amd64/genassym.c#9 (text+ko) ====
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.168 2008/05/16 13:23:47 attilio Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.169 2008/07/30 11:30:55 kib Exp $");
#include "opt_compat.h"
#include "opt_kstack_pages.h"
@@ -140,6 +140,7 @@
ASSYM(PCB_DR7, offsetof(struct pcb, pcb_dr7));
ASSYM(PCB_DBREGS, PCB_DBREGS);
ASSYM(PCB_32BIT, PCB_32BIT);
+ASSYM(PCB_GS32BIT, PCB_GS32BIT);
ASSYM(PCB_FULLCTX, PCB_FULLCTX);
ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags));
==== //depot/projects/vimage/src/sys/amd64/amd64/pmap.c#20 (text+ko) ====
@@ -77,7 +77,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.634 2008/07/18 22:05:51 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.642 2008/08/02 03:43:54 alc Exp $");
/*
* Manages physical address maps.
@@ -222,6 +222,8 @@
static int pmap_pvh_wired_mappings(struct md_page *pvh, int count);
static boolean_t pmap_demote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va);
+static boolean_t pmap_demote_pdpe(pmap_t pmap, pdp_entry_t *pdpe,
+ vm_offset_t va);
static boolean_t pmap_enter_pde(pmap_t pmap, vm_offset_t va, vm_page_t m,
vm_prot_t prot);
static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va,
@@ -230,9 +232,11 @@
static void pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte);
static boolean_t pmap_is_modified_pvh(struct md_page *pvh);
static vm_page_t pmap_lookup_pt_page(pmap_t pmap, vm_offset_t va);
+static void pmap_pde_attr(pd_entry_t *pde, int cache_bits);
static void pmap_promote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va);
static boolean_t pmap_protect_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t sva,
vm_prot_t prot);
+static void pmap_pte_attr(pt_entry_t *pte, int cache_bits);
static int pmap_remove_pde(pmap_t pmap, pd_entry_t *pdq, vm_offset_t sva,
vm_page_t *free);
static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq,
@@ -739,6 +743,13 @@
SYSCTL_ULONG(_vm_pmap_pde, OID_AUTO, promotions, CTLFLAG_RD,
&pmap_pde_promotions, 0, "2MB page promotions");
+SYSCTL_NODE(_vm_pmap, OID_AUTO, pdpe, CTLFLAG_RD, 0,
+ "1GB page mapping counters");
+
+static u_long pmap_pdpe_demotions;
+SYSCTL_ULONG(_vm_pmap_pdpe, OID_AUTO, demotions, CTLFLAG_RD,
+ &pmap_pdpe_demotions, 0, "1GB page demotions");
+
/***************************************************
* Low level helper routines.....
@@ -3350,9 +3361,8 @@
* are taken, but the code works.
*/
void
-pmap_object_init_pt(pmap_t pmap, vm_offset_t addr,
- vm_object_t object, vm_pindex_t pindex,
- vm_size_t size)
+pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object,
+ vm_pindex_t pindex, vm_size_t size)
{
vm_offset_t va;
vm_page_t p, pdpg;
@@ -3500,7 +3510,7 @@
void
pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len,
- vm_offset_t src_addr)
+ vm_offset_t src_addr)
{
vm_page_t free;
vm_offset_t addr;
@@ -4251,41 +4261,35 @@
/* Adjust the cache mode for a 4KB page mapped via a PTE. */
static __inline void
-pmap_pte_attr(vm_offset_t va, int mode)
+pmap_pte_attr(pt_entry_t *pte, int cache_bits)
{
- pt_entry_t *pte;
u_int opte, npte;
- pte = vtopte(va);
-
/*
* The cache mode bits are all in the low 32-bits of the
* PTE, so we can just spin on updating the low 32-bits.
*/
do {
opte = *(u_int *)pte;
- npte = opte & ~(PG_PTE_PAT | PG_NC_PCD | PG_NC_PWT);
- npte |= pmap_cache_bits(mode, 0);
+ npte = opte & ~PG_PTE_CACHE;
+ npte |= cache_bits;
} while (npte != opte && !atomic_cmpset_int((u_int *)pte, opte, npte));
}
/* Adjust the cache mode for a 2MB page mapped via a PDE. */
static __inline void
-pmap_pde_attr(vm_offset_t va, int mode)
+pmap_pde_attr(pd_entry_t *pde, int cache_bits)
{
- pd_entry_t *pde;
u_int opde, npde;
- pde = pmap_pde(kernel_pmap, va);
-
/*
* The cache mode bits are all in the low 32-bits of the
* PDE, so we can just spin on updating the low 32-bits.
*/
do {
opde = *(u_int *)pde;
- npde = opde & ~(PG_PDE_PAT | PG_NC_PCD | PG_NC_PWT);
- npde |= pmap_cache_bits(mode, 1);
+ npde = opde & ~PG_PDE_CACHE;
+ npde |= cache_bits;
} while (npde != opde && !atomic_cmpset_int((u_int *)pde, opde, npde));
}
@@ -4301,11 +4305,14 @@
vm_offset_t va, tmpva, offset;
/*
- * If this fits within the direct map window and use WB caching
- * mode, use the direct map.
+ * If the specified range of physical addresses fits within the direct
+ * map window, use the direct map.
*/
- if (pa < dmaplimit && (pa + size) < dmaplimit && mode == PAT_WRITE_BACK)
- return ((void *)PHYS_TO_DMAP(pa));
+ if (pa < dmaplimit && pa + size < dmaplimit) {
+ va = PHYS_TO_DMAP(pa);
+ if (!pmap_change_attr(va, size, mode))
+ return ((void *)va);
+ }
offset = pa & PAGE_MASK;
size = roundup(offset + size, PAGE_SIZE);
va = kmem_alloc_nofault(kernel_map, size);
@@ -4354,70 +4361,213 @@
kmem_free(kernel_map, base, size);
}
+/*
+ * Tries to demote a 1GB page mapping.
+ */
+static boolean_t
+pmap_demote_pdpe(pmap_t pmap, pdp_entry_t *pdpe, vm_offset_t va)
+{
+ pdp_entry_t newpdpe, oldpdpe;
+ pd_entry_t *firstpde, newpde, *pde;
+ vm_paddr_t mpdepa;
+ vm_page_t mpde;
+
+ PMAP_LOCK_ASSERT(pmap, MA_OWNED);
+ oldpdpe = *pdpe;
+ KASSERT((oldpdpe & (PG_PS | PG_V)) == (PG_PS | PG_V),
+ ("pmap_demote_pdpe: oldpdpe is missing PG_PS and/or PG_V"));
+ if ((mpde = vm_page_alloc(NULL, va >> PDPSHIFT, VM_ALLOC_INTERRUPT |
+ VM_ALLOC_NOOBJ | VM_ALLOC_WIRED)) == NULL) {
+ CTR2(KTR_PMAP, "pmap_demote_pdpe: failure for va %#lx"
+ " in pmap %p", va, pmap);
+ return (FALSE);
+ }
+ mpdepa = VM_PAGE_TO_PHYS(mpde);
+ firstpde = (pd_entry_t *)PHYS_TO_DMAP(mpdepa);
+ newpdpe = mpdepa | PG_M | PG_A | (oldpdpe & PG_U) | PG_RW | PG_V;
+ KASSERT((oldpdpe & PG_A) != 0,
+ ("pmap_demote_pdpe: oldpdpe is missing PG_A"));
+ KASSERT((oldpdpe & (PG_M | PG_RW)) != PG_RW,
+ ("pmap_demote_pdpe: oldpdpe is missing PG_M"));
+ newpde = oldpdpe;
+
+ /*
+ * Initialize the page directory page.
+ */
+ for (pde = firstpde; pde < firstpde + NPDEPG; pde++) {
+ *pde = newpde;
+ newpde += NBPDR;
+ }
+
+ /*
+ * Demote the mapping.
+ */
+ *pdpe = newpdpe;
+
+ /*
+ * Invalidate a stale recursive mapping of the page directory page.
+ */
+ pmap_invalidate_page(pmap, (vm_offset_t)vtopde(va));
+
+ pmap_pdpe_demotions++;
+ CTR2(KTR_PMAP, "pmap_demote_pdpe: success for va %#lx"
+ " in pmap %p", va, pmap);
+ return (TRUE);
+}
+
int
-pmap_change_attr(va, size, mode)
- vm_offset_t va;
- vm_size_t size;
- int mode;
+pmap_change_attr(vm_offset_t va, vm_size_t size, int mode)
{
vm_offset_t base, offset, tmpva;
+ pdp_entry_t *pdpe;
pd_entry_t *pde;
pt_entry_t *pte;
+ int cache_bits_pte, cache_bits_pde;
+ boolean_t changed;
base = trunc_page(va);
offset = va & PAGE_MASK;
size = roundup(offset + size, PAGE_SIZE);
- /* Only supported on kernel virtual addresses. */
- if (base <= VM_MAXUSER_ADDRESS)
+ /*
+ * Only supported on kernel virtual addresses, including the direct
+ * map but excluding the recursive map.
+ */
+ if (base < DMAP_MIN_ADDRESS)
return (EINVAL);
+ cache_bits_pde = cache_bits_pte = -1;
+ changed = FALSE;
+
/*
- * XXX: We have to support tearing 2MB pages down into 4k pages if
- * needed here.
+ * Pages that aren't mapped aren't supported. Also break down 2MB pages
+ * into 4KB pages if required.
*/
- /* Pages that aren't mapped aren't supported. */
- for (tmpva = base; tmpva < (base + size); ) {
- pde = pmap_pde(kernel_pmap, tmpva);
- if (*pde == 0)
+ PMAP_LOCK(kernel_pmap);
+ for (tmpva = base; tmpva < base + size; ) {
+ pdpe = pmap_pdpe(kernel_pmap, tmpva);
+ if (*pdpe == 0) {
+ PMAP_UNLOCK(kernel_pmap);
+ return (EINVAL);
+ }
+ if (*pdpe & PG_PS) {
+ /*
+ * If the current 1GB page already has the required
+ * memory type, then we need not demote this page. Just
+ * increment tmpva to the next 1GB page frame.
+ */
+ if (cache_bits_pde < 0)
+ cache_bits_pde = pmap_cache_bits(mode, 1);
+ if ((*pdpe & PG_PDE_CACHE) == cache_bits_pde) {
+ tmpva = trunc_1gpage(tmpva) + NBPDP;
+ continue;
+ }
+
+ /*
+ * If the current offset aligns with a 1GB page frame
+ * and there is at least 1GB left within the range, then
+ * we need not break down this page into 2MB pages.
+ */
+ if ((tmpva & PDPMASK) == 0 &&
+ tmpva + PDPMASK < base + size) {
+ tmpva += NBPDP;
+ continue;
+ }
+ if (!pmap_demote_pdpe(kernel_pmap, pdpe, tmpva)) {
+ PMAP_UNLOCK(kernel_pmap);
+ return (ENOMEM);
+ }
+ }
+ pde = pmap_pdpe_to_pde(pdpe, tmpva);
+ if (*pde == 0) {
+ PMAP_UNLOCK(kernel_pmap);
return (EINVAL);
+ }
if (*pde & PG_PS) {
- /* Handle 2MB pages that are completely contained. */
- if (size >= NBPDR) {
+ /*
+ * If the current 2MB page already has the required
+ * memory type, then we need not demote this page. Just
+ * increment tmpva to the next 2MB page frame.
+ */
+ if (cache_bits_pde < 0)
+ cache_bits_pde = pmap_cache_bits(mode, 1);
+ if ((*pde & PG_PDE_CACHE) == cache_bits_pde) {
+ tmpva = trunc_2mpage(tmpva) + NBPDR;
+ continue;
+ }
+
+ /*
+ * If the current offset aligns with a 2MB page frame
+ * and there is at least 2MB left within the range, then
+ * we need not break down this page into 4KB pages.
+ */
+ if ((tmpva & PDRMASK) == 0 &&
+ tmpva + PDRMASK < base + size) {
tmpva += NBPDR;
continue;
}
- return (EINVAL);
+ if (!pmap_demote_pde(kernel_pmap, pde, tmpva)) {
+ PMAP_UNLOCK(kernel_pmap);
+ return (ENOMEM);
+ }
}
pte = vtopte(tmpva);
- if (*pte == 0)
+ if (*pte == 0) {
+ PMAP_UNLOCK(kernel_pmap);
return (EINVAL);
+ }
tmpva += PAGE_SIZE;
}
+ PMAP_UNLOCK(kernel_pmap);
/*
* Ok, all the pages exist, so run through them updating their
- * cache mode.
+ * cache mode if required.
*/
- for (tmpva = base; size > 0; ) {
- pde = pmap_pde(kernel_pmap, tmpva);
+ for (tmpva = base; tmpva < base + size; ) {
+ pdpe = pmap_pdpe(kernel_pmap, tmpva);
+ if (*pdpe & PG_PS) {
+ if (cache_bits_pde < 0)
+ cache_bits_pde = pmap_cache_bits(mode, 1);
+ if ((*pdpe & PG_PDE_CACHE) != cache_bits_pde) {
+ pmap_pde_attr(pdpe, cache_bits_pde);
+ if (!changed)
+ changed = TRUE;
+ }
+ tmpva = trunc_1gpage(tmpva) + NBPDP;
+ continue;
+ }
+ pde = pmap_pdpe_to_pde(pdpe, tmpva);
if (*pde & PG_PS) {
- pmap_pde_attr(tmpva, mode);
- tmpva += NBPDR;
- size -= NBPDR;
+ if (cache_bits_pde < 0)
+ cache_bits_pde = pmap_cache_bits(mode, 1);
+ if ((*pde & PG_PDE_CACHE) != cache_bits_pde) {
+ pmap_pde_attr(pde, cache_bits_pde);
+ if (!changed)
+ changed = TRUE;
+ }
+ tmpva = trunc_2mpage(tmpva) + NBPDR;
} else {
- pmap_pte_attr(tmpva, mode);
+ if (cache_bits_pte < 0)
+ cache_bits_pte = pmap_cache_bits(mode, 0);
+ pte = vtopte(tmpva);
+ if ((*pte & PG_PTE_CACHE) != cache_bits_pte) {
+ pmap_pte_attr(pte, cache_bits_pte);
+ if (!changed)
+ changed = TRUE;
+ }
tmpva += PAGE_SIZE;
- size -= PAGE_SIZE;
}
}
/*
- * Flush CPU caches to make sure any data isn't cached that shouldn't
- * be, etc.
- */
- pmap_invalidate_range(kernel_pmap, base, tmpva);
- pmap_invalidate_cache();
+ * Flush CPU caches if required to make sure any data isn't cached that
+ * shouldn't be, etc.
+ */
+ if (changed) {
+ pmap_invalidate_range(kernel_pmap, base, tmpva);
+ pmap_invalidate_cache();
+ }
return (0);
}
==== //depot/projects/vimage/src/sys/amd64/conf/GENERIC#18 (text+ko) ====
@@ -16,7 +16,7 @@
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
-# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.504 2008/07/13 07:20:14 ed Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.505 2008/07/30 22:27:38 jfv Exp $
cpu HAMMER
ident GENERIC
@@ -189,7 +189,8 @@
# PCI Ethernet NICs.
device de # DEC/Intel DC21x4x (``Tulip'')
-device em # Intel PRO/1000 adapter Gigabit Ethernet Card
+device em # Intel PRO/1000 Gigabit Ethernet Family
+device igb # Intel PRO/1000 PCIE Server Gigabit Family
device ixgb # Intel PRO/10GbE Ethernet Card
device le # AMD Am7900 LANCE and Am79C9xx PCnet
device ti # Alteon Networks Tigon I/II gigabit Ethernet
==== //depot/projects/vimage/src/sys/amd64/ia32/ia32_signal.c#3 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.17 2008/03/23 22:44:56 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.18 2008/07/30 11:30:55 kib Exp $");
#include "opt_compat.h"
@@ -741,6 +741,6 @@
fpstate_drop(td);
/* Return via doreti so that we can change to a different %cs */
- pcb->pcb_flags |= PCB_FULLCTX;
+ pcb->pcb_flags |= PCB_FULLCTX | PCB_32BIT;
td->td_retval[1] = 0;
}
==== //depot/projects/vimage/src/sys/amd64/include/param.h#4 (text+ko) ====
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)param.h 8.1 (Berkeley) 6/10/93
- * $FreeBSD: src/sys/amd64/include/param.h,v 1.22 2008/07/19 23:42:38 alc Exp $
+ * $FreeBSD: src/sys/amd64/include/param.h,v 1.23 2008/08/01 04:55:38 alc Exp $
*/
/*
@@ -146,6 +146,7 @@
#define trunc_page(x) ((unsigned long)(x) & ~(PAGE_MASK))
#define trunc_2mpage(x) ((unsigned long)(x) & ~PDRMASK)
#define round_2mpage(x) ((((unsigned long)(x)) + PDRMASK) & ~PDRMASK)
+#define trunc_1gpage(x) ((unsigned long)(x) & ~PDPMASK)
#define atop(x) ((unsigned long)(x) >> PAGE_SHIFT)
#define ptoa(x) ((unsigned long)(x) << PAGE_SHIFT)
==== //depot/projects/vimage/src/sys/amd64/include/pcb.h#4 (text+ko) ====
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* from: @(#)pcb.h 5.10 (Berkeley) 5/12/91
- * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.64 2008/03/23 22:45:51 peter Exp $
+ * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.65 2008/07/30 11:30:55 kib Exp $
*/
#ifndef _AMD64_PCB_H_
@@ -70,6 +70,7 @@
struct savefpu pcb_save;
#define PCB_DBREGS 0x02 /* process using debug registers */
#define PCB_FPUINITDONE 0x08 /* fpu state is initialized */
+#define PCB_GS32BIT 0x20 /* linux gs switch */
#define PCB_32BIT 0x40 /* process has 32 bit context (segs etc) */
#define PCB_FULLCTX 0x80 /* full context restore on sysret */
==== //depot/projects/vimage/src/sys/amd64/include/pmap.h#7 (text+ko) ====
@@ -39,7 +39,7 @@
*
* from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90
* from: @(#)pmap.h 7.4 (Berkeley) 5/12/91
- * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.146 2008/07/08 22:59:17 alc Exp $
+ * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.147 2008/07/31 22:45:28 alc Exp $
*/
#ifndef _MACHINE_PMAP_H_
@@ -75,6 +75,10 @@
#define PG_PROT (PG_RW|PG_U) /* all protection bits . */
#define PG_N (PG_NC_PWT|PG_NC_PCD) /* Non-cacheable */
+/* Page level cache control fields used to determine the PAT type */
+#define PG_PDE_CACHE (PG_PDE_PAT | PG_NC_PWT | PG_NC_PCD)
+#define PG_PTE_CACHE (PG_PTE_PAT | PG_NC_PWT | PG_NC_PCD)
+
/*
* Promotion to a 2MB (PDE) page mapping requires that the corresponding 4KB
* (PTE) page mappings have identical settings for the following fields:
==== //depot/projects/vimage/src/sys/amd64/linux32/linux32_machdep.c#12 (text+ko) ====
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.46 2008/02/11 19:35:03 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.47 2008/07/30 11:30:55 kib Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -696,7 +696,7 @@
td2->td_pcb->pcb_gs32sd = sd;
td2->td_pcb->pcb_gs32p = &gdt[GUGS32_SEL];
td2->td_pcb->pcb_gs = GSEL(GUGS32_SEL, SEL_UPL);
- td2->td_pcb->pcb_flags |= PCB_32BIT;
+ td2->td_pcb->pcb_flags |= PCB_GS32BIT | PCB_32BIT;
}
}
==== //depot/projects/vimage/src/sys/arm/arm/db_interface.c#3 (text+ko) ====
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/db_interface.c,v 1.7 2007/02/26 05:17:47 kevlo Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/db_interface.c,v 1.8 2008/08/03 01:53:14 cognet Exp $");
#include "opt_ddb.h"
#include <sys/param.h>
@@ -294,7 +294,7 @@
u_int
branch_taken(u_int insn, db_addr_t pc)
{
- u_int addr, nregs;
+ u_int addr, nregs, offset = 0;
switch ((insn >> 24) & 0xf) {
case 0xa: /* b ... */
@@ -311,6 +311,17 @@
case 0x1: /* mov pc, reg */
addr = db_fetch_reg(insn & 0xf);
return (addr);
+ case 0x5: /* ldr pc, [reg] */
+ addr = db_fetch_reg((insn >> 16) & 0xf);
+ /* ldr pc, [reg, #offset] */
+ if (insn & (1 << 24))
+ offset = insn & 0xfff;
+ if (insn & 0x00800000)
+ addr += offset;
+ else
+ addr -= offset;
+ db_read_bytes(addr, 4, (char *)&addr);
+ return (addr);
case 0x8: /* ldmxx reg, {..., pc} */
case 0x9:
addr = db_fetch_reg((insn >> 16) & 0xf);
==== //depot/projects/vimage/src/sys/arm/arm/swtch.S#5 (text+ko) ====
@@ -83,7 +83,7 @@
#include <machine/asm.h>
#include <machine/asmacros.h>
#include <machine/armreg.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/swtch.S,v 1.22 2008/02/05 10:22:33 raj Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/swtch.S,v 1.23 2008/08/02 00:10:38 cognet Exp $");
/*
@@ -257,6 +257,7 @@
strd r10, [r2, #(PCB_R10)]
strd r12, [r2, #(PCB_R12)]
#endif
+ str pc, [r2, #(PCB_PC)]
/*
* NOTE: We can now use r8-r13 until it is time to restore
==== //depot/projects/vimage/src/sys/arm/at91/uart_dev_at91usart.c#7 (text) ====
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.14 2008/05/04 23:29:37 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.15 2008/08/02 08:01:56 ed Exp $");
#include "opt_comconsole.h"
@@ -510,15 +510,18 @@
if (sc->sc_sysdev != NULL && sc->sc_sysdev->type == UART_DEV_CONSOLE) {
if ((kdb_brk = kdb_alt_break(key, &sc->sc_altbrk)) != 0) {
- case KDB_REQ_DEBUGGER:
- kdb_enter(KDB_WHY_BREAK, "Break sequence on console");
- break;
- case KDB_REQ_PANIC:
- kdb_panic("Panic sequence on console");
- break;
- case KDB_REQ_REBOOT:
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list