Date: Sat, 17 Mar 2007 16:03:34 GMT From: Alexander Leidinger <netchild@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 116028 for review Message-ID: <200703171603.l2HG3YsH075492@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=116028 Change 116028 by netchild@netchild_magellan on 2007/03/17 16:03:00 IFC Affected files ... .. //depot/projects/linuxolator/src/sys/amd64/amd64/identcpu.c#3 integrate .. //depot/projects/linuxolator/src/sys/amd64/include/specialreg.h#3 integrate .. //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/avila_ata.c#3 integrate .. //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/ixp425.c#4 integrate .. //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/ixp425reg.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/arm/at91/bootspi/loader_prompt.c#3 integrate .. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/Makefile#4 integrate .. //depot/projects/linuxolator/src/sys/boot/pc98/boot0.5/boot.s#2 integrate .. //depot/projects/linuxolator/src/sys/boot/pc98/boot0.5/boot0.5.s#2 integrate .. //depot/projects/linuxolator/src/sys/boot/pc98/boot0.5/disk.s#2 integrate .. //depot/projects/linuxolator/src/sys/cam/cam_xpt.c#8 integrate .. //depot/projects/linuxolator/src/sys/coda/coda_vnops.c#3 integrate .. //depot/projects/linuxolator/src/sys/conf/NOTES#20 integrate .. //depot/projects/linuxolator/src/sys/conf/files#23 integrate .. //depot/projects/linuxolator/src/sys/dev/acpica/Osd/OsdDebug.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/ata/ata-queue.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/ata/atapi-cam.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/bge/if_bge.c#16 integrate .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_ael1002.c#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_common.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_firmware_exports.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_mc5.c#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_regs.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_sge_defs.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_t3_hw.c#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_tcb.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_version.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_vsc8211.c#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_xgmac.c#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/cxgb_adapter.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/cxgb_config.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/cxgb_ioctl.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/cxgb_lro.c#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/cxgb_main.c#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/cxgb_osdep.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/cxgb_sge.c#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/t3fw-3.2.bin.gz.uu#1 branch .. //depot/projects/linuxolator/src/sys/dev/firewire/firewire.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/firewirereg.h#2 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/fwdev.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/fwmem.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/fwohci.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/fwohci_pci.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/fwohcivar.h#2 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/if_fwe.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/if_fwip.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/sbp.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/sbp_targ.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/ichwd/ichwd.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp.c#12 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_freebsd.h#10 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_pci.c#14 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_sbus.c#8 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/isa/ad1816.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/isa/mss.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/isa/sbc.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/midi/midi.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/midi/sequencer.c#6 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/als4000.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/atiixp.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/cmi.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/ds1.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/emu10k1.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/emu10kx-pcm.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/envy24.c#7 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/envy24ht.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/es137x.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/hda/hdac.c#16 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/ich.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/maestro.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/maestro3.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/solo.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/t4dwave.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/via8233.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/via82c686.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/ac97.c#6 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/buffer.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/channel.c#6 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/channel_if.m#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/dsp.c#8 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/fake.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/feeder.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/feeder.h#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/feeder_fmt.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/feeder_rate.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/feeder_volume.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/sndstat.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/sound.c#6 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/sound.h#5 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/vchan.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/sbus/cs4231.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/usb/uaudio.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/usb/uaudio.h#2 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/usb/uaudio_pcm.c#4 integrate .. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_vfsops.c#3 integrate .. //depot/projects/linuxolator/src/sys/fs/devfs/devfs_vnops.c#5 integrate .. //depot/projects/linuxolator/src/sys/fs/fdescfs/fdesc_vnops.c#2 integrate .. //depot/projects/linuxolator/src/sys/fs/hpfs/hpfs_vfsops.c#4 integrate .. //depot/projects/linuxolator/src/sys/fs/msdosfs/msdosfs_denode.c#3 integrate .. //depot/projects/linuxolator/src/sys/fs/ntfs/ntfs_vfsops.c#5 integrate .. //depot/projects/linuxolator/src/sys/fs/nullfs/null_subr.c#2 integrate .. //depot/projects/linuxolator/src/sys/fs/nwfs/nwfs_node.c#2 integrate .. //depot/projects/linuxolator/src/sys/fs/portalfs/portal_vfsops.c#3 integrate .. //depot/projects/linuxolator/src/sys/fs/portalfs/portal_vnops.c#2 integrate .. //depot/projects/linuxolator/src/sys/fs/pseudofs/pseudofs_vncache.c#3 integrate .. //depot/projects/linuxolator/src/sys/fs/smbfs/smbfs_node.c#3 integrate .. //depot/projects/linuxolator/src/sys/fs/udf/udf_vfsops.c#6 integrate .. //depot/projects/linuxolator/src/sys/fs/umapfs/umap_subr.c#2 integrate .. //depot/projects/linuxolator/src/sys/fs/unionfs/union_subr.c#5 integrate .. //depot/projects/linuxolator/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#6 integrate .. //depot/projects/linuxolator/src/sys/gnu/fs/reiserfs/reiserfs_inode.c#2 integrate .. //depot/projects/linuxolator/src/sys/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c#2 integrate .. //depot/projects/linuxolator/src/sys/i386/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/linuxolator/src/sys/i386/i386/identcpu.c#4 integrate .. //depot/projects/linuxolator/src/sys/i386/i386/pmap.c#9 integrate .. //depot/projects/linuxolator/src/sys/i386/include/specialreg.h#3 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_descrip.c#8 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_rwlock.c#6 integrate .. //depot/projects/linuxolator/src/sys/kern/uipc_mqueue.c#6 integrate .. //depot/projects/linuxolator/src/sys/kern/uipc_socket.c#14 integrate .. //depot/projects/linuxolator/src/sys/kern/vfs_hash.c#2 integrate .. //depot/projects/linuxolator/src/sys/kern/vfs_mount.c#10 integrate .. //depot/projects/linuxolator/src/sys/kern/vfs_subr.c#9 integrate .. //depot/projects/linuxolator/src/sys/kern/vfs_syscalls.c#10 integrate .. //depot/projects/linuxolator/src/sys/modules/Makefile#10 integrate .. //depot/projects/linuxolator/src/sys/modules/cxgb/Makefile#1 branch .. //depot/projects/linuxolator/src/sys/net/bridgestp.c#11 integrate .. //depot/projects/linuxolator/src/sys/net/if_bridge.c#13 integrate .. //depot/projects/linuxolator/src/sys/net/if_vlan.c#6 integrate .. //depot/projects/linuxolator/src/sys/netinet/ip_mroute.c#11 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp.h#2 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_asconf.c#8 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_asconf.h#4 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_auth.c#5 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_auth.h#3 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_bsd_addr.c#4 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_bsd_addr.h#3 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_constants.h#7 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_header.h#2 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_indata.c#8 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_input.c#8 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_lock_bsd.h#3 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_os.h#5 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_os_bsd.h#7 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_output.c#8 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_output.h#3 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_pcb.c#8 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_pcb.h#6 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_peeloff.c#5 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_structs.h#8 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_sysctl.c#1 branch .. //depot/projects/linuxolator/src/sys/netinet/sctp_sysctl.h#1 branch .. //depot/projects/linuxolator/src/sys/netinet/sctp_timer.c#6 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_uio.h#6 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_usrreq.c#8 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_var.h#6 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctputil.c#8 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctputil.h#7 integrate .. //depot/projects/linuxolator/src/sys/netinet/tcp.h#3 integrate .. //depot/projects/linuxolator/src/sys/netinet/tcp_input.c#11 integrate .. //depot/projects/linuxolator/src/sys/netinet/tcp_output.c#7 integrate .. //depot/projects/linuxolator/src/sys/netinet/tcp_subr.c#7 integrate .. //depot/projects/linuxolator/src/sys/netinet/tcp_syncache.c#6 integrate .. //depot/projects/linuxolator/src/sys/netinet/tcp_var.h#5 integrate .. //depot/projects/linuxolator/src/sys/netinet6/sctp6_usrreq.c#8 integrate .. //depot/projects/linuxolator/src/sys/nfsclient/nfs_node.c#5 integrate .. //depot/projects/linuxolator/src/sys/sys/acl.h#2 integrate .. //depot/projects/linuxolator/src/sys/sys/extattr.h#4 integrate .. //depot/projects/linuxolator/src/sys/sys/ucred.h#2 integrate .. //depot/projects/linuxolator/src/sys/sys/vnode.h#6 integrate .. //depot/projects/linuxolator/src/sys/ufs/ffs/ffs_vfsops.c#8 integrate .. //depot/projects/linuxolator/src/sys/ufs/ufs/quota.h#3 integrate .. //depot/projects/linuxolator/src/sys/ufs/ufs/ufs_lookup.c#2 integrate .. //depot/projects/linuxolator/src/sys/ufs/ufs/ufs_quota.c#9 integrate .. //depot/projects/linuxolator/src/sys/ufs/ufs/ufs_vnops.c#10 integrate Differences ... ==== //depot/projects/linuxolator/src/sys/amd64/amd64/identcpu.c#3 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.149 2007/01/09 19:23:21 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.150 2007/03/12 20:27:21 jkim Exp $"); #include "opt_cpu.h" @@ -312,7 +312,7 @@ "\006<b5>" "\007<b6>" "\010<b7>" - "\011<b8>" + "\011Prefetch" /* 3DNow! Prefetch/PrefetchW */ "\012<b9>" "\013<b10>" "\014<b11>" ==== //depot/projects/linuxolator/src/sys/amd64/include/specialreg.h#3 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * from: @(#)specialreg.h 7.1 (Berkeley) 5/9/91 - * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.36 2007/01/09 19:23:21 jkim Exp $ + * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.37 2007/03/12 20:27:21 jkim Exp $ */ #ifndef _MACHINE_SPECIALREG_H_ @@ -112,35 +112,36 @@ #define CPUID_IA64 0x40000000 #define CPUID_PBE 0x80000000 -#define CPUID2_SSE3 0x00000001 -#define CPUID2_MON 0x00000008 -#define CPUID2_DS_CPL 0x00000010 -#define CPUID2_VMX 0x00000020 -#define CPUID2_EST 0x00000080 -#define CPUID2_TM2 0x00000100 -#define CPUID2_SSSE3 0x00000200 -#define CPUID2_CNXTID 0x00000400 -#define CPUID2_CX16 0x00002000 -#define CPUID2_XTPR 0x00004000 +#define CPUID2_SSE3 0x00000001 +#define CPUID2_MON 0x00000008 +#define CPUID2_DS_CPL 0x00000010 +#define CPUID2_VMX 0x00000020 +#define CPUID2_EST 0x00000080 +#define CPUID2_TM2 0x00000100 +#define CPUID2_SSSE3 0x00000200 +#define CPUID2_CNXTID 0x00000400 +#define CPUID2_CX16 0x00002000 +#define CPUID2_XTPR 0x00004000 /* * Important bits in the AMD extended cpuid flags */ -#define AMDID_SYSCALL 0x00000800 -#define AMDID_MP 0x00080000 -#define AMDID_NX 0x00100000 -#define AMDID_EXT_MMX 0x00400000 -#define AMDID_FFXSR 0x01000000 -#define AMDID_RDTSCP 0x08000000 -#define AMDID_LM 0x20000000 -#define AMDID_EXT_3DNOW 0x40000000 -#define AMDID_3DNOW 0x80000000 +#define AMDID_SYSCALL 0x00000800 +#define AMDID_MP 0x00080000 +#define AMDID_NX 0x00100000 +#define AMDID_EXT_MMX 0x00400000 +#define AMDID_FFXSR 0x01000000 +#define AMDID_RDTSCP 0x08000000 +#define AMDID_LM 0x20000000 +#define AMDID_EXT_3DNOW 0x40000000 +#define AMDID_3DNOW 0x80000000 -#define AMDID2_LAHF 0x00000001 -#define AMDID2_CMP 0x00000002 -#define AMDID2_SVM 0x00000004 -#define AMDID2_EXT_APIC 0x00000008 -#define AMDID2_CR8 0x00000010 +#define AMDID2_LAHF 0x00000001 +#define AMDID2_CMP 0x00000002 +#define AMDID2_SVM 0x00000004 +#define AMDID2_EXT_APIC 0x00000008 +#define AMDID2_CR8 0x00000010 +#define AMDID2_PREFETCH 0x00000100 /* * CPUID instruction 1 ebx info @@ -153,29 +154,29 @@ /* * AMD extended function 8000_0008h ecx info */ -#define AMDID_CMP_CORES 0x000000ff +#define AMDID_CMP_CORES 0x000000ff /* * Model-specific registers for the i386 family */ -#define MSR_P5_MC_ADDR 0x000 -#define MSR_P5_MC_TYPE 0x001 -#define MSR_TSC 0x010 +#define MSR_P5_MC_ADDR 0x000 +#define MSR_P5_MC_TYPE 0x001 +#define MSR_TSC 0x010 #define MSR_P5_CESR 0x011 #define MSR_P5_CTR0 0x012 #define MSR_P5_CTR1 0x013 #define MSR_IA32_PLATFORM_ID 0x017 -#define MSR_APICBASE 0x01b -#define MSR_EBL_CR_POWERON 0x02a +#define MSR_APICBASE 0x01b +#define MSR_EBL_CR_POWERON 0x02a #define MSR_TEST_CTL 0x033 -#define MSR_BIOS_UPDT_TRIG 0x079 +#define MSR_BIOS_UPDT_TRIG 0x079 #define MSR_BBL_CR_D0 0x088 #define MSR_BBL_CR_D1 0x089 #define MSR_BBL_CR_D2 0x08a -#define MSR_BIOS_SIGN 0x08b -#define MSR_PERFCTR0 0x0c1 -#define MSR_PERFCTR1 0x0c2 -#define MSR_MTRRcap 0x0fe +#define MSR_BIOS_SIGN 0x08b +#define MSR_PERFCTR0 0x0c1 +#define MSR_PERFCTR1 0x0c2 +#define MSR_MTRRcap 0x0fe #define MSR_BBL_CR_ADDR 0x116 #define MSR_BBL_CR_DECC 0x118 #define MSR_BBL_CR_CTL 0x119 @@ -185,47 +186,47 @@ #define MSR_SYSENTER_CS_MSR 0x174 #define MSR_SYSENTER_ESP_MSR 0x175 #define MSR_SYSENTER_EIP_MSR 0x176 -#define MSR_MCG_CAP 0x179 -#define MSR_MCG_STATUS 0x17a -#define MSR_MCG_CTL 0x17b -#define MSR_EVNTSEL0 0x186 -#define MSR_EVNTSEL1 0x187 -#define MSR_THERM_CONTROL 0x19a -#define MSR_THERM_INTERRUPT 0x19b -#define MSR_THERM_STATUS 0x19c +#define MSR_MCG_CAP 0x179 +#define MSR_MCG_STATUS 0x17a +#define MSR_MCG_CTL 0x17b +#define MSR_EVNTSEL0 0x186 +#define MSR_EVNTSEL1 0x187 +#define MSR_THERM_CONTROL 0x19a +#define MSR_THERM_INTERRUPT 0x19b +#define MSR_THERM_STATUS 0x19c #define MSR_IA32_MISC_ENABLE 0x1a0 -#define MSR_DEBUGCTLMSR 0x1d9 -#define MSR_LASTBRANCHFROMIP 0x1db -#define MSR_LASTBRANCHTOIP 0x1dc -#define MSR_LASTINTFROMIP 0x1dd -#define MSR_LASTINTTOIP 0x1de -#define MSR_ROB_CR_BKUPTMPDR6 0x1e0 -#define MSR_MTRRVarBase 0x200 -#define MSR_MTRR64kBase 0x250 -#define MSR_MTRR16kBase 0x258 -#define MSR_MTRR4kBase 0x268 -#define MSR_PAT 0x277 -#define MSR_MTRRdefType 0x2ff -#define MSR_MC0_CTL 0x400 -#define MSR_MC0_STATUS 0x401 -#define MSR_MC0_ADDR 0x402 -#define MSR_MC0_MISC 0x403 -#define MSR_MC1_CTL 0x404 -#define MSR_MC1_STATUS 0x405 -#define MSR_MC1_ADDR 0x406 -#define MSR_MC1_MISC 0x407 -#define MSR_MC2_CTL 0x408 -#define MSR_MC2_STATUS 0x409 -#define MSR_MC2_ADDR 0x40a -#define MSR_MC2_MISC 0x40b -#define MSR_MC3_CTL 0x40c -#define MSR_MC3_STATUS 0x40d -#define MSR_MC3_ADDR 0x40e -#define MSR_MC3_MISC 0x40f -#define MSR_MC4_CTL 0x410 -#define MSR_MC4_STATUS 0x411 -#define MSR_MC4_ADDR 0x412 -#define MSR_MC4_MISC 0x413 +#define MSR_DEBUGCTLMSR 0x1d9 +#define MSR_LASTBRANCHFROMIP 0x1db +#define MSR_LASTBRANCHTOIP 0x1dc +#define MSR_LASTINTFROMIP 0x1dd +#define MSR_LASTINTTOIP 0x1de +#define MSR_ROB_CR_BKUPTMPDR6 0x1e0 +#define MSR_MTRRVarBase 0x200 +#define MSR_MTRR64kBase 0x250 +#define MSR_MTRR16kBase 0x258 +#define MSR_MTRR4kBase 0x268 +#define MSR_PAT 0x277 +#define MSR_MTRRdefType 0x2ff +#define MSR_MC0_CTL 0x400 +#define MSR_MC0_STATUS 0x401 +#define MSR_MC0_ADDR 0x402 +#define MSR_MC0_MISC 0x403 +#define MSR_MC1_CTL 0x404 +#define MSR_MC1_STATUS 0x405 +#define MSR_MC1_ADDR 0x406 +#define MSR_MC1_MISC 0x407 +#define MSR_MC2_CTL 0x408 +#define MSR_MC2_STATUS 0x409 +#define MSR_MC2_ADDR 0x40a +#define MSR_MC2_MISC 0x40b +#define MSR_MC3_CTL 0x40c +#define MSR_MC3_STATUS 0x40d +#define MSR_MC3_ADDR 0x40e +#define MSR_MC3_MISC 0x40f +#define MSR_MC4_CTL 0x410 +#define MSR_MC4_STATUS 0x411 +#define MSR_MC4_ADDR 0x412 +#define MSR_MC4_MISC 0x413 /* * Constants related to MSR's. @@ -250,9 +251,9 @@ /* * Constants related to MTRRs */ -#define MTRR_N64K 8 /* numbers of fixed-size entries */ -#define MTRR_N16K 16 -#define MTRR_N4K 64 +#define MTRR_N64K 8 /* numbers of fixed-size entries */ +#define MTRR_N16K 16 +#define MTRR_N4K 64 /* Performance Control Register (5x86 only). */ #define PCR0 0x20 @@ -349,11 +350,11 @@ #define RCR6 0xe2 #define RCR7 0xe3 -#define RCR_RCD 0x01 /* Disables caching for ARRx (x = 0-6). */ -#define RCR_RCE 0x01 /* Enables caching for ARR7. */ -#define RCR_WWO 0x02 /* Weak write ordering. */ +#define RCR_RCD 0x01 /* Disables caching for ARRx (x = 0-6). */ +#define RCR_RCE 0x01 /* Enables caching for ARR7. */ +#define RCR_WWO 0x02 /* Weak write ordering. */ #define RCR_WL 0x04 /* Weak locking. */ -#define RCR_WG 0x08 /* Write gathering. */ +#define RCR_WG 0x08 /* Write gathering. */ #define RCR_WT 0x10 /* Write-through. */ #define RCR_NLB 0x20 /* LBA# pin is not asserted. */ ==== //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/avila_ata.c#3 (text+ko) ==== @@ -28,13 +28,16 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_ata.c,v 1.2 2007/02/25 22:17:54 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_ata.c,v 1.3 2007/03/14 18:05:04 jhay Exp $"); /* * Compact Flash Support for the Avila Gateworks XScale boards. - * There are 1 or 2 optional CF slots operated in "True IDE" mode. - * Registers are on the Expansion Bus connected to CS1. Interrupts - * are tied to GPIO pin 12. No DMA, just PIO. + * The CF slot is operated in "True IDE" mode. Registers are on + * the Expansion Bus connected to CS1 and CS2. Interrupts are + * tied to GPIO pin 12. No DMA, just PIO. + * + * The ADI Pronghorn Metro is very similar. It use CS3 and CS4 and + * GPIO pin 0 for interrupts. * * See also http://www.intel.com/design/network/applnots/302456.htm. */ @@ -64,17 +67,24 @@ #include <dev/ata/ata-all.h> #include <ata_if.h> -#define AVILA_IDE_GPIN 12 /* GPIO pin # */ -#define AVILA_IDE_IRQ IXP425_INT_GPIO_12 -#define AVILA_IDE_CTRL 0x1e /* control register */ +#define AVILA_IDE_GPIN 12 /* GPIO pin # */ +#define AVILA_IDE_IRQ IXP425_INT_GPIO_12 +#define AVILA_IDE_CTRL 0x06 /* control register */ + +#define PRONGHORN_IDE_GPIN 0 /* GPIO pin # */ +#define PRONGHORN_IDE_IRQ IXP425_INT_GPIO_0 +#define PRONGHORN_IDE_CNTRL 0x06 /* control register */ struct ata_avila_softc { device_t sc_dev; bus_space_tag_t sc_iot; bus_space_handle_t sc_exp_ioh; /* Exp Bus config registers */ - bus_space_handle_t sc_ioh; /* CS1 data registers */ + bus_space_handle_t sc_ioh; /* CS1/3 data registers */ + bus_space_handle_t sc_alt_ioh; /* CS2/4 data registers */ struct bus_space sc_expbus_tag; struct resource sc_ata; /* hand-crafted for ATA */ + struct resource sc_alt_ata; /* hand-crafted for ATA */ + u_int32_t sc_16bit_off; /* EXP_TIMING_CSx_OFFSET */ int sc_rid; /* rid for IRQ */ struct resource *sc_irq; /* IRQ resource */ void *sc_ih; /* interrupt handler */ @@ -94,8 +104,14 @@ static int ata_avila_probe(device_t dev) { + struct ixp425_softc *sa = device_get_softc(device_get_parent(dev)); + /* XXX any way to check? */ - device_set_desc_copy(dev, "Gateworks Avila IDE/CF Controller"); + if (EXP_BUS_READ_4(sa, EXP_TIMING_CS2_OFFSET) != 0) + device_set_desc_copy(dev, "Gateworks Avila IDE/CF Controller"); + else + device_set_desc_copy(dev, + "ADI Pronghorn Metro IDE/CF Controller"); return 0; } @@ -104,14 +120,43 @@ { struct ata_avila_softc *sc = device_get_softc(dev); struct ixp425_softc *sa = device_get_softc(device_get_parent(dev)); + u_int32_t alt_t_off, board_type, ide_gpin, ide_irq; + board_type = 0; sc->sc_dev = dev; /* NB: borrow from parent */ sc->sc_iot = sa->sc_iot; sc->sc_exp_ioh = sa->sc_exp_ioh; - if (bus_space_map(sc->sc_iot, - IXP425_EXP_BUS_CS1_HWBASE, IXP425_EXP_BUS_CS1_SIZE, 0, &sc->sc_ioh)) - panic("%s: unable to map Expansion Bus CS1 window", __func__); + if (EXP_BUS_READ_4(sc, EXP_TIMING_CS2_OFFSET) != 0) + board_type = 1; /* Avila board */ + + if (board_type == 1) { + if (bus_space_map(sc->sc_iot, IXP425_EXP_BUS_CS1_HWBASE, + IXP425_EXP_BUS_CS1_SIZE, 0, &sc->sc_ioh)) + panic("%s: unable to map Expansion Bus CS1 window", + __func__); + if (bus_space_map(sc->sc_iot, IXP425_EXP_BUS_CS2_HWBASE, + IXP425_EXP_BUS_CS2_SIZE, 0, &sc->sc_alt_ioh)) + panic("%s: unable to map Expansion Bus CS2 window", + __func__); + ide_gpin = AVILA_IDE_GPIN; + ide_irq = AVILA_IDE_IRQ; + sc->sc_16bit_off = EXP_TIMING_CS1_OFFSET; + alt_t_off = EXP_TIMING_CS2_OFFSET; + } else { + if (bus_space_map(sc->sc_iot, IXP425_EXP_BUS_CS3_HWBASE, + IXP425_EXP_BUS_CS3_SIZE, 0, &sc->sc_ioh)) + panic("%s: unable to map Expansion Bus CS3 window", + __func__); + if (bus_space_map(sc->sc_iot, IXP425_EXP_BUS_CS4_HWBASE, + IXP425_EXP_BUS_CS4_SIZE, 0, &sc->sc_alt_ioh)) + panic("%s: unable to map Expansion Bus CS4 window", + __func__); + ide_gpin = PRONGHORN_IDE_GPIN; + ide_irq = PRONGHORN_IDE_IRQ; + sc->sc_16bit_off = EXP_TIMING_CS3_OFFSET; + alt_t_off = EXP_TIMING_CS4_OFFSET; + } /* * Craft special resource for ATA bus space ops @@ -137,27 +182,34 @@ rman_set_bustag(&sc->sc_ata, &sc->sc_expbus_tag); rman_set_bushandle(&sc->sc_ata, sc->sc_ioh); + rman_set_bustag(&sc->sc_alt_ata, &sc->sc_expbus_tag); + rman_set_bushandle(&sc->sc_alt_ata, sc->sc_alt_ioh); GPIO_CONF_WRITE_4(sa, IXP425_GPIO_GPOER, - GPIO_CONF_READ_4(sa, IXP425_GPIO_GPOER) | (1<<AVILA_IDE_GPIN)); - /* interrupt is active low */ - GPIO_CONF_WRITE_4(sa, GPIO_TYPE_REG(AVILA_IDE_GPIN), - GPIO_CONF_READ_4(sa, GPIO_TYPE_REG(AVILA_IDE_GPIN) | - GPIO_TYPE(AVILA_IDE_GPIN, GPIO_TYPE_ACT_LOW))); + GPIO_CONF_READ_4(sa, IXP425_GPIO_GPOER) | (1<<ide_gpin)); + /* interrupt is active high */ + GPIO_CONF_WRITE_4(sa, GPIO_TYPE_REG(ide_gpin), + (GPIO_CONF_READ_4(sa, GPIO_TYPE_REG(ide_gpin)) & + ~GPIO_TYPE(ide_gpin, GPIO_TYPE_MASK)) | + GPIO_TYPE(ide_gpin, GPIO_TYPE_ACT_HIGH)); /* clear ISR */ - GPIO_CONF_WRITE_4(sa, IXP425_GPIO_GPISR, (1<<AVILA_IDE_GPIN)); + GPIO_CONF_WRITE_4(sa, IXP425_GPIO_GPISR, (1<<ide_gpin)); - /* configure CS1 window, leaving timing unchanged */ - EXP_BUS_WRITE_4(sc, EXP_TIMING_CS1_OFFSET, - EXP_BUS_READ_4(sc, EXP_TIMING_CS1_OFFSET) | + /* configure CS1/3 window, leaving timing unchanged */ + EXP_BUS_WRITE_4(sc, sc->sc_16bit_off, + EXP_BUS_READ_4(sc, sc->sc_16bit_off) | + EXP_BYTE_EN | EXP_WR_EN | EXP_BYTE_RD16 | EXP_CS_EN); + /* configure CS2/4 window, leaving timing unchanged */ + EXP_BUS_WRITE_4(sc, alt_t_off, + EXP_BUS_READ_4(sc, alt_t_off) | EXP_BYTE_EN | EXP_WR_EN | EXP_BYTE_RD16 | EXP_CS_EN); /* setup interrupt */ sc->sc_irq = bus_alloc_resource(dev, SYS_RES_IRQ, &sc->sc_rid, - AVILA_IDE_IRQ, AVILA_IDE_IRQ, 1, RF_ACTIVE); + ide_irq, ide_irq, 1, RF_ACTIVE); if (!sc->sc_irq) - panic("Unable to allocate irq %u.\n", AVILA_IDE_IRQ); + panic("Unable to allocate irq %u.\n", ide_irq); bus_setup_intr(dev, sc->sc_irq, INTR_TYPE_BIO | INTR_MPSAFE | INTR_ENTROPY, NULL, ata_avila_intr, sc, &sc->sc_ih); @@ -261,8 +313,8 @@ static void __inline enable_16(struct ata_avila_softc *sc) { - EXP_BUS_WRITE_4(sc, EXP_TIMING_CS1_OFFSET, - EXP_BUS_READ_4(sc, EXP_TIMING_CS1_OFFSET) &~ EXP_BYTE_EN); + EXP_BUS_WRITE_4(sc, sc->sc_16bit_off, + EXP_BUS_READ_4(sc, sc->sc_16bit_off) &~ EXP_BYTE_EN); DELAY(100); /* XXX? */ } @@ -270,8 +322,8 @@ disable_16(struct ata_avila_softc *sc) { DELAY(100); /* XXX? */ - EXP_BUS_WRITE_4(sc, EXP_TIMING_CS1_OFFSET, - EXP_BUS_READ_4(sc, EXP_TIMING_CS1_OFFSET) | EXP_BYTE_EN); + EXP_BUS_WRITE_4(sc, sc->sc_16bit_off, + EXP_BUS_READ_4(sc, sc->sc_16bit_off) | EXP_BYTE_EN); } uint8_t @@ -439,10 +491,11 @@ /* NB: should be used only for ATAPI devices */ ch->r_io[ATA_IREASON].offset = ATA_COUNT; ch->r_io[ATA_STATUS].offset = ATA_COMMAND; - /* alias this; required by ata_generic_status */ - ch->r_io[ATA_ALTSTAT].offset = ch->r_io[ATA_STATUS].offset; - /* NB: the control register is special */ + /* NB: the control and alt status registers are special */ + ch->r_io[ATA_ALTSTAT].res = &sc->sc_alt_ata; + ch->r_io[ATA_ALTSTAT].offset = AVILA_IDE_CTRL; + ch->r_io[ATA_CONTROL].res = &sc->sc_alt_ata; ch->r_io[ATA_CONTROL].offset = AVILA_IDE_CTRL; /* NB: by convention this points at the base of registers */ @@ -452,88 +505,6 @@ return ata_attach(dev); } -/* XXX override ata_generic_reset to handle non-standard status */ -static void -avila_channel_reset(device_t dev) -{ - struct ata_channel *ch = device_get_softc(dev); - u_int8_t ostat0 = 0, stat0 = 0; - u_int8_t err = 0, lsb = 0, msb = 0; - int mask = 0, timeout; - - /* do we have any signs of ATA/ATAPI HW being present ? */ - ATA_IDX_OUTB(ch, ATA_DRIVE, ATA_D_IBM | ATA_D_LBA | ATA_MASTER); - DELAY(10); - ostat0 = ATA_IDX_INB(ch, ATA_STATUS); - if ((ostat0 & 0xf8) != 0xf8 && ostat0 != 0xa5) { - stat0 = ATA_S_BUSY; - mask |= 0x01; - } - - if (bootverbose) - device_printf(dev, "%s: reset tp1 mask=%02x ostat0=%02x\n", - __func__, mask, ostat0); - - /* if nothing showed up there is no need to get any further */ - /* XXX SOS is that too strong?, we just might loose devices here */ - ch->devices = 0; - if (!mask) - return; - - /* reset (both) devices on this channel */ - ATA_IDX_OUTB(ch, ATA_DRIVE, ATA_D_IBM | ATA_D_LBA | ATA_MASTER); - DELAY(10); - ATA_IDX_OUTB(ch, ATA_CONTROL, ATA_A_IDS | ATA_A_RESET); - ata_udelay(10000); - ATA_IDX_OUTB(ch, ATA_CONTROL, ATA_A_IDS); - ata_udelay(100000); - ATA_IDX_INB(ch, ATA_ERROR); - - /* wait for BUSY to go inactive */ - for (timeout = 0; timeout < 310; timeout++) { - if ((mask & 0x01) && (stat0 & ATA_S_BUSY)) { - ATA_IDX_OUTB(ch, ATA_DRIVE, ATA_D_IBM | ATA_MASTER); - DELAY(10); - err = ATA_IDX_INB(ch, ATA_ERROR); - lsb = ATA_IDX_INB(ch, ATA_CYL_LSB); - msb = ATA_IDX_INB(ch, ATA_CYL_MSB); - stat0 = ATA_IDX_INB(ch, ATA_STATUS); - if (bootverbose) - device_printf(dev, - "%s: stat0=0x%02x err=0x%02x lsb=0x%02x " - "msb=0x%02x\n", __func__, - stat0, err, lsb, msb); - if (stat0 == err && lsb == err && msb == err && - timeout > (stat0 & ATA_S_BUSY ? 100 : 10)) - mask &= ~0x01; - if (!(stat0 & ATA_S_BUSY)) { - if ((err & 0x7f) == ATA_E_ILI || err == 0) { - if (lsb == ATAPI_MAGIC_LSB && - msb == ATAPI_MAGIC_MSB) { - ch->devices |= ATA_ATAPI_MASTER; - } else if (stat0 & ATA_S_READY) { - ch->devices |= ATA_ATA_MASTER; - } - } else if ((stat0 & 0x0f) && - err == lsb && err == msb) { - stat0 |= ATA_S_BUSY; - } - } - } - if (mask == 0x00) /* nothing to wait for */ - break; - /* wait for master */ - if (!(stat0 & ATA_S_BUSY) || (stat0 == 0xff && timeout > 10)) - break; - ata_udelay(100000); - } - - if (bootverbose) - device_printf(dev, "%s: reset tp2 stat0=%02x devices=0x%b\n", - __func__, stat0, ch->devices, - "\20\4ATAPI_SLAVE\3ATAPI_MASTER\2ATA_SLAVE\1ATA_MASTER"); -} - static device_method_t avila_channel_methods[] = { /* device interface */ DEVMETHOD(device_probe, avila_channel_probe), @@ -543,8 +514,6 @@ DEVMETHOD(device_suspend, ata_suspend), DEVMETHOD(device_resume, ata_resume), - DEVMETHOD(ata_reset, avila_channel_reset), - { 0, 0 } }; ==== //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/ixp425.c#4 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.4 2007/02/23 12:18:28 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.5 2007/03/14 19:03:07 jhay Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include <sys/param.h> @@ -86,6 +86,13 @@ /* Gateworks Avila IDE/CF is mapped here */ { IXP425_EXP_BUS_CS1_HWBASE, IXP425_EXP_BUS_SIZE, IXP425_EXP_BUS_CS1_VBASE }, + { IXP425_EXP_BUS_CS2_HWBASE, IXP425_EXP_BUS_SIZE, + IXP425_EXP_BUS_CS2_VBASE }, + /* ADI Pronghorn Metro IDE/CF is mapped here */ + { IXP425_EXP_BUS_CS3_HWBASE, IXP425_EXP_BUS_SIZE, + IXP425_EXP_BUS_CS3_VBASE }, + { IXP425_EXP_BUS_CS4_HWBASE, IXP425_EXP_BUS_SIZE, + IXP425_EXP_BUS_CS4_VBASE }, }; static int ==== //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/ixp425reg.h#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/arm/xscale/ixp425/ixp425reg.h,v 1.1 2006/11/19 23:55:23 sam Exp $ + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425reg.h,v 1.2 2007/03/14 19:03:07 jhay Exp $ * */ @@ -566,15 +566,24 @@ #define IXP425_EXP_BUS_CSx_HWBASE(i) \ (IXP425_EXP_BUS_HWBASE + (i)*IXP425_EXP_BUS_SIZE) +#define IXP425_EXP_BUS_CSx_VBASE(i) \ + (IXP425_MAC_B_VBASE + (i)*IXP425_MAC_B_SIZE) + #define IXP425_EXP_BUS_CS1_HWBASE IXP425_EXP_BUS_CSx_HWBASE(1) -#define IXP425_EXP_BUS_CS1_VBASE (IXP425_MAC_B_VBASE + IXP425_MAC_B_SIZE) +#define IXP425_EXP_BUS_CS1_VBASE IXP425_EXP_BUS_CSx_VBASE(1) #define IXP425_EXP_BUS_CS1_SIZE 0x1000 +#define IXP425_EXP_BUS_CS2_HWBASE IXP425_EXP_BUS_CSx_HWBASE(2) +#define IXP425_EXP_BUS_CS2_VBASE IXP425_EXP_BUS_CSx_VBASE(2) +#define IXP425_EXP_BUS_CS2_SIZE 0x1000 +#define IXP425_EXP_BUS_CS3_HWBASE IXP425_EXP_BUS_CSx_HWBASE(3) +#define IXP425_EXP_BUS_CS3_VBASE IXP425_EXP_BUS_CSx_VBASE(3) +#define IXP425_EXP_BUS_CS3_SIZE 0x1000 +#define IXP425_EXP_BUS_CS4_HWBASE IXP425_EXP_BUS_CSx_HWBASE(4) +#define IXP425_EXP_BUS_CS4_VBASE IXP425_EXP_BUS_CSx_VBASE(4) +#define IXP425_EXP_BUS_CS4_SIZE 0x1000 /* NB: not mapped (yet) */ #define IXP425_EXP_BUS_CS0_HWBASE IXP425_EXP_BUS_CSx_HWBASE(0) -#define IXP425_EXP_BUS_CS2_HWBASE IXP425_EXP_BUS_CSx_HWBASE(2) -#define IXP425_EXP_BUS_CS3_HWBASE IXP425_EXP_BUS_CSx_HWBASE(3) -#define IXP425_EXP_BUS_CS4_HWBASE IXP425_EXP_BUS_CSx_HWBASE(4) #define IXP425_EXP_BUS_CS5_HWBASE IXP425_EXP_BUS_CSx_HWBASE(5) #define IXP425_EXP_BUS_CS6_HWBASE IXP425_EXP_BUS_CSx_HWBASE(6) #define IXP425_EXP_BUS_CS7_HWBASE IXP425_EXP_BUS_CSx_HWBASE(7) ==== //depot/projects/linuxolator/src/sys/boot/arm/at91/bootspi/loader_prompt.c#3 (text+ko) ==== @@ -19,7 +19,7 @@ * only. * END_BLOCK * - * $FreeBSD: src/sys/boot/arm/at91/bootspi/loader_prompt.c,v 1.3 2006/10/21 22:51:21 imp Exp $ + * $FreeBSD: src/sys/boot/arm/at91/bootspi/loader_prompt.c,v 1.4 2007/03/15 03:31:48 imp Exp $ *****************************************************************************/ #include "at91rm9200_lowlevel.h" @@ -43,8 +43,6 @@ static char *argv[MAX_COMMAND_PARAMS]; #define FLASH_OFFSET (0 * FLASH_PAGE_SIZE) -#define FPGA_OFFSET (15 * FLASH_PAGE_SIZE) -#define FPGA_LEN (212608) #define KERNEL_OFFSET (220 * FLASH_PAGE_SIZE) #define KERNEL_LEN (6 * 1024 * FLASH_PAGE_SIZE) static const char *backspaceString = "\010 \010"; @@ -61,41 +59,10 @@ {COMMAND_LOAD_SPI_KERNEL, "k"}, {COMMAND_REPLACE_KERNEL_VIA_XMODEM, "K"}, {COMMAND_REPLACE_FLASH_VIA_XMODEM, "I"}, - {COMMAND_REPLACE_FPGA_VIA_XMODEM, "F"}, {COMMAND_REPLACE_ID_EEPROM, "E"}, {COMMAND_FINAL_FLAG, 0} }; -#ifdef TSC_FPGA -#include "fpga.h" - -const struct fpga main_fpga = -{ - AT91C_BASE_PIOB, AT91C_PIO_PB0, - AT91C_BASE_PIOC, AT91C_PIO_PC11, - AT91C_BASE_PIOB, AT91C_PIO_PB2, - AT91C_BASE_PIOC, AT91C_PIO_PC12 -}; - -void -fpga_load(void) -{ - int len, off, i, offset; - char *addr = (char *)SDRAM_BASE + (1 << 20); /* Load to base + 1MB */ - - len = FPGA_LEN; - offset = FPGA_OFFSET; - for (i = 0; i < len; i+= FLASH_PAGE_SIZE) { - off = i + offset; - SPI_ReadFlash(off, addr + i, FLASH_PAGE_SIZE); - } - fpga_init(&main_fpga); - fpga_clear(&main_fpga); - fpga_write_bytes(&main_fpga, addr, len); - fpga_done(&main_fpga); -} -#endif - /* * .KB_C_FN_DEFINITION_START * unsigned BuildIP(void) @@ -310,10 +277,6 @@ printf("Updating KERNEL image\n"); UpdateFlash(KERNEL_OFFSET); break; - case COMMAND_REPLACE_FPGA_VIA_XMODEM: - printf("Updating FPGA image\n"); - UpdateFlash(FPGA_OFFSET); - break; case COMMAND_REPLACE_FLASH_VIA_XMODEM: printf("Updating FLASH image\n"); UpdateFlash(FLASH_OFFSET); ==== //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/Makefile#4 (text) ==== @@ -1,10 +1,10 @@ -# $FreeBSD: src/sys/boot/arm/at91/libat91/Makefile,v 1.7 2006/11/09 20:32:36 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/libat91/Makefile,v 1.8 2007/03/15 03:31:49 imp Exp $ .include "${.CURDIR}/../Makefile.inc" LIB= at91 INTERNALLIB= -SRCS=at91rm9200_lowlevel.c delay.c eeprom.c emac.c emac_init.c fpga.c getc.c \ +SRCS=at91rm9200_lowlevel.c delay.c eeprom.c emac.c emac_init.c getc.c \ putchar.c printf.c reset.c spi_flash.c xmodem.c \ sd-card.c strcvt.c strlen.c strcmp.c memcpy.c strcpy.c \ memset.c memcmp.c ==== //depot/projects/linuxolator/src/sys/boot/pc98/boot0.5/boot.s#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/boot/pc98/boot0.5/boot.s,v 1.2 2000/08/03 13:01:45 kato Exp $ +# $FreeBSD: src/sys/boot/pc98/boot0.5/boot.s,v 1.3 2007/03/17 05:30:03 kato Exp $ # .code16 @@ -60,7 +60,7 @@ movw parttable(%si), %ax movw %ax, b_cylinder - # Step 2: Calculate egment address of bootstrap routine + # Step 2: Calculate the segment address of the bootstrap routine movw $0x1d00, %ax movw b_secsize, %cx shrw %cx ==== //depot/projects/linuxolator/src/sys/boot/pc98/boot0.5/boot0.5.s#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/boot/pc98/boot0.5/boot0.5.s,v 1.2 2000/08/06 14:35:37 kato Exp $ +# $FreeBSD: src/sys/boot/pc98/boot0.5/boot0.5.s,v 1.3 2007/03/17 05:30:03 kato Exp $ # .global main .code16 @@ -60,7 +60,7 @@ jmp exit # No hard drives drives_found: - # Setup sector size depended parameters + # Setup sector size dependent parameters movw %si, %cx # %cx = number of devices setup_loop: movw %cx, %di @@ -254,16 +254,9 @@ ret .data - .global curdevice, daua, secsize, defflagoff, defpartoff - .global maxpart, partoff, ndevice + .global curdevice, ndevice ndevice: .word 0 # number of device curdevice: .word 0 # current device -daua: .space 12 # DA/DU list -secsize: .space 12 * 2 # Sector soize -defflagoff: .space 12 * 2 -defpartoff: .space 12 * 2 -maxpart: .space 12 * 2 -partoff: .space 12 * 2 .global ishireso ishireso: .byte 0 @@ -288,3 +281,13 @@ msg_usage10: .asciz ">>: selected device/slice" msg_usage11: .asciz "*: default slice to boot" msg_usage12: .asciz "!: unbootable slice" + + .bss + .global daua, secsize, defflagoff, defpartoff + .global maxpart, partoff +daua: .space 12 # DA/DU list +secsize: .space 12 * 2 # Sector soize +defflagoff: .space 12 * 2 +defpartoff: .space 12 * 2 +maxpart: .space 12 * 2 +partoff: .space 12 * 2 ==== //depot/projects/linuxolator/src/sys/boot/pc98/boot0.5/disk.s#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/boot/pc98/boot0.5/disk.s,v 1.4 2000/08/31 10:24:06 kato Exp $ +# $FreeBSD: src/sys/boot/pc98/boot0.5/disk.s,v 1.5 2007/03/17 05:30:03 kato Exp $ # .code16 @@ -284,11 +284,13 @@ ret .data - .global partnum, parttable, defpartflag, defpartnum, npartition -partnum: .space 32 # Index of parttable -parttable: .space 1024 # Copy of valid partition table + .global defpartflag, defpartnum, npartition defpartflag: .byte 0 defpartnum: .byte 0 npartition: .word 0 # number of partitions + .bss -iplbuf: .space 0x400 + .global partnum, parttable +iplbuf: .space 0x400 # Read buffer for IPL +partnum: .space 32 # Index of parttable +parttable: .space 1024 # Copy of valid partition table ==== //depot/projects/linuxolator/src/sys/cam/cam_xpt.c#8 (text+ko) ==== @@ -28,7 +28,7 @@ */ >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200703171603.l2HG3YsH075492>