[oe-commits] org.oe.dev linux omap2 git: add L2 cache enable patch for beagleboard and update defconfig accordingly

koen commit oe at amethyst.openembedded.net
Wed May 7 08:35:21 UTC 2008


linux omap2 git: add L2 cache enable patch for beagleboard and update defconfig accordingly

Author: koen at openembedded.org
Branch: org.openembedded.dev
Revision: d7b4b8c0230f51a3ff728f024cd5fd2a1c5b84a5
ViewMTN: http://monotone.openembedded.org/revision/info/d7b4b8c0230f51a3ff728f024cd5fd2a1c5b84a5
Files:
1
packages/linux/linux-omap2-git/beagleboard/defconfig
packages/linux/linux-omap2-git/beagleboard/l2-cache.patch
packages/linux/linux-omap2_git.bb
Diffs:

#
# mt diff -r3df1e17af4a65be5059a37fb3c36849172c56013 -rd7b4b8c0230f51a3ff728f024cd5fd2a1c5b84a5
#
#
#
# patch "packages/linux/linux-omap2-git/beagleboard/defconfig"
#  from [6defc6fa96f79492acbfbaed1cc6553abe5edc13]
#    to [8d22f436ea4eaff784aaefdcc7cc32d946815c26]
# 
# patch "packages/linux/linux-omap2-git/beagleboard/l2-cache.patch"
#  from [d6003f16c293392c2b1bb62d8e05ec0d2c77ac3d]
#    to [45c85605a7dc4199b58f887f69e36f43794134de]
# 
# patch "packages/linux/linux-omap2_git.bb"
#  from [e814cc387e24f6f857c8482476de87721f711639]
#    to [51983441aa46ff6fdedad22db5955685518fa707]
#
============================================================
--- packages/linux/linux-omap2-git/beagleboard/defconfig	6defc6fa96f79492acbfbaed1cc6553abe5edc13
+++ packages/linux/linux-omap2-git/beagleboard/defconfig	8d22f436ea4eaff784aaefdcc7cc32d946815c26
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.25-omap1
-# Wed Apr 30 11:44:55 2008
+# Linux kernel version: 2.6.26-rc1-omap1
+# Wed May  7 10:17:18 2008
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -88,12 +88,14 @@ CONFIG_HAVE_KRETPROBES=y
 # CONFIG_KPROBES is not set
 CONFIG_HAVE_KPROBES=y
 CONFIG_HAVE_KRETPROBES=y
+# CONFIG_HAVE_DMA_ATTRS is not set
 CONFIG_PROC_PAGE_MONITOR=y
 CONFIG_SLABINFO=y
 CONFIG_RT_MUTEXES=y
 # CONFIG_TINY_SHMEM is not set
 CONFIG_BASE_SMALL=0
 CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
 CONFIG_MODULE_UNLOAD=y
 CONFIG_MODULE_FORCE_UNLOAD=y
 CONFIG_MODVERSIONS=y
@@ -230,6 +232,10 @@ CONFIG_ARM_THUMB=y
 # CONFIG_ARM_THUMBEE is not set
 # CONFIG_CPU_ICACHE_DISABLE is not set
 # CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_LOCKDOWN_TO_64K_L2 is not set
+# CONFIG_CPU_LOCKDOWN_TO_128K_L2 is not set
+CONFIG_CPU_LOCKDOWN_TO_256K_L2=y
+# CONFIG_CPU_L2CACHE_DISABLE is not set
 # CONFIG_CPU_BPREDICT_DISABLE is not set
 CONFIG_HAS_TLS_REG=y
 # CONFIG_OUTER_CACHE is not set
@@ -261,6 +267,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
 CONFIG_FLAT_NODE_MEM_MAP=y
 # CONFIG_SPARSEMEM_STATIC is not set
 # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
+CONFIG_PAGEFLAGS_EXTENDED=y
 CONFIG_SPLIT_PTLOCK_CPUS=4
 # CONFIG_RESOURCES_64BIT is not set
 CONFIG_ZONE_DMA_FLAG=1
@@ -288,6 +295,7 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=
 CONFIG_CPU_FREQ_STAT=y
 CONFIG_CPU_FREQ_STAT_DETAILS=y
 CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
 # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
 # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
 # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
@@ -319,7 +327,6 @@ CONFIG_PM=y
 # Power management options
 #
 CONFIG_PM=y
-# CONFIG_PM_LEGACY is not set
 # CONFIG_PM_DEBUG is not set
 CONFIG_PM_SLEEP=y
 CONFIG_SUSPEND=y
@@ -499,6 +506,7 @@ CONFIG_MTD_PARTITIONS=y
 # CONFIG_MTD_REDBOOT_PARTS is not set
 # CONFIG_MTD_CMDLINE_PARTS is not set
 # CONFIG_MTD_AFS_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
 
 #
 # User Modules And Translation Layers
@@ -588,7 +596,8 @@ CONFIG_MISC_DEVICES=y
 # CONFIG_EEPROM_93CX6 is not set
 # CONFIG_OMAP_STI is not set
 # CONFIG_ENCLOSURE_SERVICES is not set
-# CONFIG_HAVE_IDE is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
 
 #
 # SCSI device support
@@ -679,6 +688,7 @@ CONFIG_USB_ZD1201=m
 # CONFIG_USB_NET_RNDIS_WLAN is not set
 # CONFIG_RTL8187 is not set
 # CONFIG_P54_COMMON is not set
+# CONFIG_IWLWIFI is not set
 # CONFIG_IWLWIFI_LEDS is not set
 CONFIG_HOSTAP=m
 CONFIG_HOSTAP_FIRMWARE=y
@@ -794,6 +804,7 @@ CONFIG_VT_HW_CONSOLE_BINDING=y
 CONFIG_VT_CONSOLE=y
 CONFIG_HW_CONSOLE=y
 CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_DEVKMEM=y
 # CONFIG_SERIAL_NONSTANDARD is not set
 
 #
@@ -864,10 +875,6 @@ CONFIG_TWL4030_PWRBUTTON=y
 # CONFIG_I2C_DEBUG_ALGO is not set
 # CONFIG_I2C_DEBUG_BUS is not set
 # CONFIG_I2C_DEBUG_CHIP is not set
-
-#
-# SPI support
-#
 CONFIG_SPI=y
 # CONFIG_SPI_DEBUG is not set
 CONFIG_SPI_MASTER=y
@@ -939,12 +946,41 @@ CONFIG_SSB_POSSIBLE=y
 #
 # Multimedia devices
 #
+
+#
+# Multimedia core support
+#
 CONFIG_VIDEO_DEV=y
 CONFIG_VIDEO_V4L2_COMMON=y
 CONFIG_VIDEO_ALLOW_V4L1=y
 CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_DVB_CORE=m
+CONFIG_VIDEO_MEDIA=y
+
+#
+# Multimedia drivers
+#
+# CONFIG_MEDIA_ATTACH is not set
+CONFIG_MEDIA_TUNER=y
+# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=y
+CONFIG_MEDIA_TUNER_TDA8290=y
+CONFIG_MEDIA_TUNER_TDA9887=y
+CONFIG_MEDIA_TUNER_TEA5761=y
+CONFIG_MEDIA_TUNER_TEA5767=y
+CONFIG_MEDIA_TUNER_MT20XX=y
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=y
+CONFIG_MEDIA_TUNER_XC5000=y
 CONFIG_VIDEO_V4L2=y
 CONFIG_VIDEO_V4L1=y
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEO_IR_I2C=m
+CONFIG_VIDEO_IR=m
+CONFIG_VIDEO_TVEEPROM=m
 CONFIG_VIDEO_CAPTURE_DRIVERS=y
 # CONFIG_VIDEO_ADV_DEBUG is not set
 # CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
@@ -1022,8 +1058,6 @@ CONFIG_VIDEO_PVRUSB2=m
 # CONFIG_VIDEO_AU0828 is not set
 CONFIG_V4L_USB_DRIVERS=y
 CONFIG_VIDEO_PVRUSB2=m
-CONFIG_VIDEO_PVRUSB2_ONAIR_CREATOR=y
-CONFIG_VIDEO_PVRUSB2_ONAIR_USB2=y
 CONFIG_VIDEO_PVRUSB2_SYSFS=y
 # CONFIG_VIDEO_PVRUSB2_DVB is not set
 # CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
@@ -1048,8 +1082,6 @@ CONFIG_USB_STKWEBCAM=m
 CONFIG_USB_STKWEBCAM=m
 # CONFIG_SOC_CAMERA is not set
 # CONFIG_RADIO_ADAPTERS is not set
-CONFIG_DVB_CORE=m
-CONFIG_DVB_CORE_ATTACH=y
 CONFIG_DVB_CAPTURE_DRIVERS=y
 # CONFIG_TTPCI_EEPROM is not set
 
@@ -1100,14 +1132,17 @@ CONFIG_DVB_CINERGYT2=m
 #
 # DVB-S (satellite) frontends
 #
-CONFIG_DVB_STV0299=m
 CONFIG_DVB_CX24110=m
 CONFIG_DVB_CX24123=m
-CONFIG_DVB_TDA8083=m
 CONFIG_DVB_MT312=m
-CONFIG_DVB_VES1X93=m
 CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_TDA8083=m
 CONFIG_DVB_TDA10086=m
+CONFIG_DVB_VES1X93=m
+# CONFIG_DVB_TUNER_ITD1000 is not set
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
 
 #
 # DVB-T (terrestrial) frontends
@@ -1145,43 +1180,20 @@ CONFIG_DVB_S5H1409=m
 CONFIG_DVB_LGDT330X=m
 CONFIG_DVB_S5H1409=m
 # CONFIG_DVB_AU8522 is not set
+# CONFIG_DVB_S5H1411 is not set
 
 #
-# Tuners/PLL support
+# Digital terrestrial only tuners/PLL
 #
 CONFIG_DVB_PLL=m
-CONFIG_DVB_TDA826X=m
-CONFIG_DVB_TDA827X=m
-CONFIG_DVB_TDA18271=m
-CONFIG_DVB_TUNER_QT1010=m
-CONFIG_DVB_TUNER_MT2060=m
-CONFIG_DVB_TUNER_MT2266=m
-CONFIG_DVB_TUNER_MT2131=m
 CONFIG_DVB_TUNER_DIB0070=m
-CONFIG_DVB_TUNER_XC5000=m
-# CONFIG_DVB_TUNER_ITD1000 is not set
 
 #
-# Miscellaneous devices
+# SEC control devices for DVB-S
 #
 CONFIG_DVB_LNBP21=m
 # CONFIG_DVB_ISL6405 is not set
 CONFIG_DVB_ISL6421=m
-CONFIG_DVB_TUA6100=m
-CONFIG_VIDEO_TUNER=m
-# CONFIG_VIDEO_TUNER_CUSTOMIZE is not set
-CONFIG_TUNER_XC2028=m
-CONFIG_TUNER_MT20XX=m
-CONFIG_TUNER_TDA8290=m
-CONFIG_TUNER_TEA5761=m
-CONFIG_TUNER_TEA5767=m
-CONFIG_TUNER_SIMPLE=m
-CONFIG_TUNER_TDA9887=m
-CONFIG_VIDEOBUF_GEN=m
-CONFIG_VIDEOBUF_VMALLOC=m
-CONFIG_VIDEO_IR_I2C=m
-CONFIG_VIDEO_IR=m
-CONFIG_VIDEO_TVEEPROM=m
 CONFIG_DAB=y
 CONFIG_USB_DABUSB=m
 
@@ -1200,6 +1212,7 @@ CONFIG_FB_CFB_IMAGEBLIT=y
 # CONFIG_FB_SYS_FILLRECT is not set
 # CONFIG_FB_SYS_COPYAREA is not set
 # CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_FOREIGN_ENDIAN is not set
 # CONFIG_FB_SYS_FOPS is not set
 CONFIG_FB_DEFERRED_IO=y
 # CONFIG_FB_SVGALIB is not set
@@ -1337,18 +1350,21 @@ CONFIG_USB_SUSPEND=y
 CONFIG_USB_DEVICE_CLASS=y
 # CONFIG_USB_DYNAMIC_MINORS is not set
 CONFIG_USB_SUSPEND=y
-# CONFIG_USB_PERSIST is not set
 # CONFIG_USB_OTG is not set
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
 
 #
 # USB Host Controller Drivers
 #
+# CONFIG_USB_C67X00_HCD is not set
 CONFIG_USB_EHCI_HCD=m
 CONFIG_OMAP_EHCI_PHY_MODE=y
 # CONFIG_OMAP_EHCI_TLL_MODE is not set
 CONFIG_USB_EHCI_ROOT_HUB_TT=y
 # CONFIG_USB_EHCI_TT_NEWSCHED is not set
 # CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_ISP1760_HCD is not set
 # CONFIG_USB_OHCI_HCD is not set
 # CONFIG_USB_SL811_HCD is not set
 # CONFIG_USB_R8A66597_HCD is not set
@@ -1391,7 +1407,9 @@ CONFIG_USB_STORAGE=y
 # CONFIG_USB_STORAGE_SDDR55 is not set
 # CONFIG_USB_STORAGE_JUMPSHOT is not set
 # CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
 # CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
 # CONFIG_USB_LIBUSUAL is not set
 
 #
@@ -1437,6 +1455,7 @@ CONFIG_USB_SERIAL=m
 # CONFIG_USB_SERIAL_NAVMAN is not set
 # CONFIG_USB_SERIAL_PL2303 is not set
 # CONFIG_USB_SERIAL_OTI6858 is not set
+# CONFIG_USB_SERIAL_SPCP8X5 is not set
 # CONFIG_USB_SERIAL_HP4X is not set
 # CONFIG_USB_SERIAL_SAFE is not set
 # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
@@ -1481,6 +1500,7 @@ CONFIG_USB_GADGET_SELECTED=y
 # CONFIG_USB_GADGET_NET2280 is not set
 # CONFIG_USB_GADGET_PXA2XX is not set
 # CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_PXA27X is not set
 # CONFIG_USB_GADGET_GOKU is not set
 # CONFIG_USB_GADGET_LH7A40X is not set
 # CONFIG_USB_GADGET_OMAP is not set
@@ -1529,6 +1549,7 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=m
 CONFIG_LEDS_TRIGGERS=y
 CONFIG_LEDS_TRIGGER_TIMER=m
 CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
 CONFIG_RTC_LIB=y
 CONFIG_RTC_CLASS=y
 CONFIG_RTC_HCTOSYS=y
@@ -1754,6 +1775,7 @@ CONFIG_ENABLE_MUST_CHECK=y
 # CONFIG_PRINTK_TIME is not set
 CONFIG_ENABLE_WARN_DEPRECATED=y
 CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
 CONFIG_MAGIC_SYSRQ=y
 # CONFIG_UNUSED_SYMBOLS is not set
 # CONFIG_DEBUG_FS is not set
@@ -1764,6 +1786,7 @@ CONFIG_SCHED_DEBUG=y
 CONFIG_SCHED_DEBUG=y
 # CONFIG_SCHEDSTATS is not set
 # CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
 # CONFIG_DEBUG_SLAB is not set
 # CONFIG_DEBUG_RT_MUTEXES is not set
 # CONFIG_RT_MUTEX_TESTER is not set
@@ -1887,6 +1910,8 @@ CONFIG_BITREVERSE=y
 # Library routines
 #
 CONFIG_BITREVERSE=y
+# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+# CONFIG_GENERIC_FIND_NEXT_BIT is not set
 CONFIG_CRC_CCITT=y
 CONFIG_CRC16=m
 CONFIG_CRC_ITU_T=y
============================================================
--- packages/linux/linux-omap2-git/beagleboard/l2-cache.patch	d6003f16c293392c2b1bb62d8e05ec0d2c77ac3d
+++ packages/linux/linux-omap2-git/beagleboard/l2-cache.patch	45c85605a7dc4199b58f887f69e36f43794134de
@@ -1,38 +1,162 @@
-diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
-index 15066c2..70f85c1 100644
---- a/arch/arm/mm/Kconfig
-+++ b/arch/arm/mm/Kconfig
-@@ -665,6 +665,12 @@ config CPU_CACHE_ROUND_ROBIN
- 	  Say Y here to use the predictable round-robin cache replacement
- 	  policy.  Unless you specifically require this or are unsure, say N.
- 
+From: "Syed Mohammed, Khasim" <khasim at ti.com>
+To: Koen Kooi <k.kooi at student.utwente.nl>
+CC: "linux-omap at vger.kernel.org" <linux-omap at vger.kernel.org>,
+        "Woodruff,
+ Richard" <r-woodruff2 at ti.com>
+Date: Wed, 7 May 2008 13:12:13 +0530
+Subject: RE: public git l2 cache off.
+
+The below patch should get you going with L2 Cache enabled on GIT kernel, tested on Beagle board.
+
+Regards,
+Khasim
+
+
+--- my_linux_omap/arch/arm/mm/Kconfig        2008-05-06 16:37:17.000000000 +0530
++++ git/arch/arm/mm/Kconfig 2008-05-07 12:40:05.000000000 +0530
+@@ -659,6 +659,20 @@ config CPU_DCACHE_SIZE
+          If your SoC is configured to have a different size, define the value
+          here with proper conditions.
+
++choice
++       prompt "L2 Cache Size"
++       depends on ARCH_OMAP34XX
++
++config CPU_LOCKDOWN_TO_64K_L2
++       bool "Lock down L2 Cache to 64K"
++
++config CPU_LOCKDOWN_TO_128K_L2
++       bool "Lock down L2 Cache to 128K"
++
++config CPU_LOCKDOWN_TO_256K_L2
++       bool "Lock down L2 Cache to 256K"
++endchoice
++
+ config CPU_DCACHE_WRITETHROUGH
+        bool "Force write through D-cache"
+        depends on (CPU_ARM740T || CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM940T || CPU_ARM946E || CPU_ARM1020) && !CPU_DCACHE_DISABLE
+@@ -674,6 +688,12 @@ config CPU_CACHE_ROUND_ROBIN
+          Say Y here to use the predictable round-robin cache replacement
+          policy.  Unless you specifically require this or are unsure, say N.
+
 +config CPU_L2CACHE_DISABLE
-+	bool "Disable level 2 cache"
-+	depends on CPU_V7
-+	help
-+	  Say Y here to disable the level 2 cache.  If unsure, say N.
++       bool "Disable level 2 cache"
++       depends on CPU_V7
++       help
++         Say Y here to disable the level 2 cache.  If unsure, say N.
 +
  config CPU_BPREDICT_DISABLE
- 	bool "Disable branch prediction"
- 	depends on CPU_ARM1020 || CPU_V6 || CPU_XSC3 || CPU_V7
-diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
-index a1d7331..432ddab 100644
---- a/arch/arm/mm/proc-v7.S
-+++ b/arch/arm/mm/proc-v7.S
-@@ -181,6 +181,16 @@ __v7_setup:
- 	mcr	p15, 0, r4, c2, c0, 1		@ load TTB1
+        bool "Disable branch prediction"
+        depends on CPU_ARM1020 || CPU_V6 || CPU_XSC3 || CPU_V7
+
+--- /tmp/proc-v7.S	2008-05-07 10:05:37.949232951 +0200
++++ git/arch/arm/mm/proc-v7.S	2008-05-07 10:13:18.626067909 +0200
+@@ -182,11 +182,72 @@
  	mov	r10, #0x1f			@ domains 0, 1 = manager
  	mcr	p15, 0, r10, c3, c0, 0		@ load domain access register
+ #endif
++#if defined(CONFIG_ARCH_OMAP3)
++	@ L2 cache is enabled in the aux control register
++	mrc     p15, 0, r0, c1, c0, 1
++	orr     r0, r0, #0x11           @ speculative+no-alais protection
++#ifdef CONFIG_CPU_L2CACHE_DISABLE
++	bic     r0, r0, #0x2            @ disable L2 Cache.
++#else
++	orr     r0, r0, #0x2            @ enaable L2 Cache.
++#endif
++
++/* On 3430 ES2.0 ZeBu and silicon, Aux Ctrl Reg can be written outside
++ * Secure mode also
++ */
++	mcr     p15, 0, r0, c1, c0, 1
++
++#ifdef CONFIG_ARCH_OMAP34XX
++#ifdef CONFIG_CPU_LOCKDOWN_TO_64K_L2
++	mov     r10, #0xfc
++	mcr     p15, 1, r10, c9, c0, 0
++#endif
++
++#ifdef CONFIG_CPU_LOCKDOWN_TO_128K_L2
++	mov     r10, #0xf0
++	mcr     p15, 1, r10, c9, c0, 0
++#endif
++
++#ifdef CONFIG_CPU_LOCKDOWN_TO_256K_L2
++	mov     r10, #0x00
++	mcr     p15, 1, r10, c9, c0, 0
++#endif
++#endif
++
+ 	adr	r5, v7_crval
+ 	ldmia	r5, {r5, r6}
+-   	mrc	p15, 0, r0, c1, c0, 0		@ read control register
+-	bic	r0, r0, r5			@ clear bits them
+-	orr	r0, r0, r6			@ set them
++	mrc     p15, 0, r0, c1, c0, 0   @ read control register
++	bic     r0, r0, r5              @ clear bits them
++	orr     r0, r0, r6              @ set them
++	mov     pc, lr                  @ return to head.S:__ret
++
++       /*
++        *  TAT N EV   F        H   R
++        * .EFR M.EE .UI. ..A. .RVI Z... B... .CAM
++        * 0xxx x0xx 11x0 01x1 0xxx x000 0111 1xxx < forced typical
++        * r    rr   rr r rr r r         rrr rrrr r     < always read only
++        * .000 ..00 ..0. ..0. .011 1... .... .101 < we want
++        */
++       .type   v7_crval, #object
++v7_crval:
++       crval   clear=0x7322f006, mmuset=0x00003805, ucset=0x00001804
++#else
++
 +#ifndef CONFIG_CPU_L2CACHE_DISABLE
 +	@ L2 cache configuration in the L2 aux control register
-+	mrc	p15, 1, r10, c9, c0, 2
-+	bic	r10, r10, #(1 << 16)		@ L2 outer cache
-+	mcr	p15, 1, r10, c9, c0, 2
++	mrc     p15, 1, r10, c9, c0, 2
++	bic     r10, r10, #(1 << 16)            @ L2 outer cache
++	mcr     p15, 1, r10, c9, c0, 2
 +	@ L2 cache is enabled in the aux control register
-+	mrc	p15, 0, r10, c1, c0, 1
-+	orr	r10, r10, #2
-+	mcr	p15, 0, r10, c1, c0, 1
++	mrc     p15, 0, r10, c1, c0, 1
++	orr     r10, r10, #2
++	mcr     p15, 0, r10, c1, c0, 1
 +#endif
++	mrc     p15, 0, r0, c1, c0, 0           @ read control register
++	ldr     r10, cr1_clear                  @ get mask for bits to clear
++	bic     r0, r0, r10                     @ clear bits them
++	ldr     r10, cr1_set                    @ get mask for bits to set
++	orr     r0, r0, r10                     @ set them
+ 	mov	pc, lr				@ return to head.S:__ret
+ 
+ 	/*
+@@ -195,9 +256,13 @@
+ 	 * rrrr rrrx xxx0 0101 xxxx xxxx x111 xxxx < forced
+ 	 *         0 110       0011 1.00 .111 1101 < we want
+ 	 */
+-	.type	v7_crval, #object
+-v7_crval:
+-	crval	clear=0x0120c302, mmuset=0x00c0387d, ucset=0x00c0187c
++	.type   cr1_clear, #object
++	.type   cr1_set, #object
++cr1_clear:
++	.word   0x0120c302
++cr1_set:
++	.word   0x00c0387d
++#endif
+ 
+ __v7_setup_stack:
+ 	.space	4 * 11				@ 11 registers
+@@ -205,7 +270,6 @@
+ 	.type	v7_processor_functions, #object
+ ENTRY(v7_processor_functions)
+ 	.word	v7_early_abort
+-	.word	pabort_ifar
+ 	.word	cpu_v7_proc_init
+ 	.word	cpu_v7_proc_fin
+ 	.word	cpu_v7_reset
+@@ -213,6 +277,7 @@
+ 	.word	cpu_v7_dcache_clean_area
+ 	.word	cpu_v7_switch_mm
+ 	.word	cpu_v7_set_pte_ext
++	.word   pabort_ifar
+%s
>>> DIFF TRUNCATED @ 16K






More information about the Openembedded-commits mailing list