PERFORCE change 116028 for review
Alexander Leidinger
netchild at FreeBSD.org
Sat Mar 17 16:03:41 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=116028
Change 116028 by netchild at 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) <<<
More information about the p4-projects
mailing list