diff options
| author | Catalin Marinas <catalin.marinas@arm.com> | 2007-05-08 17:45:26 -0400 |
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-05-09 04:52:38 -0400 |
| commit | 23688e999eda70f1ce1c61a68b865b996e3c6c4c (patch) | |
| tree | 4695a39ebc314bc0ed4c6d80bb128c7856f3c348 | |
| parent | 065cf519c32984b7a78777aae3859baf5f5fd3d3 (diff) | |
[ARM] armv7: add Makefile and Kconfig entries
This patch adds the necessary lines to the Makefile and Kconfig files for
enabling the compilation of the ARMv7 CPU support.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| -rw-r--r-- | arch/arm/Makefile | 5 | ||||
| -rw-r--r-- | arch/arm/mm/Kconfig | 32 | ||||
| -rw-r--r-- | arch/arm/mm/Makefile | 3 |
3 files changed, 38 insertions, 2 deletions
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index ab9f2d4bd04e..00ea4305ad5d 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
| @@ -47,8 +47,13 @@ comma = , | |||
| 47 | # Note that GCC does not numerically define an architecture version | 47 | # Note that GCC does not numerically define an architecture version |
| 48 | # macro, but instead defines a whole series of macros which makes | 48 | # macro, but instead defines a whole series of macros which makes |
| 49 | # testing for a specific architecture or later rather impossible. | 49 | # testing for a specific architecture or later rather impossible. |
| 50 | arch-$(CONFIG_CPU_32v7) :=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7a,-march=armv5t -Wa$(comma)-march=armv7a) | ||
| 50 | arch-$(CONFIG_CPU_32v6) :=-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6) | 51 | arch-$(CONFIG_CPU_32v6) :=-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6) |
| 52 | # Only override the compiler option if ARMv6. The ARMv6K extensions are | ||
| 53 | # always available in ARMv7 | ||
| 54 | ifeq ($(CONFIG_CPU_32v6),y) | ||
| 51 | arch-$(CONFIG_CPU_32v6K) :=-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6k,-march=armv5t -Wa$(comma)-march=armv6k) | 55 | arch-$(CONFIG_CPU_32v6K) :=-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6k,-march=armv5t -Wa$(comma)-march=armv6k) |
| 56 | endif | ||
| 52 | arch-$(CONFIG_CPU_32v5) :=-D__LINUX_ARM_ARCH__=5 $(call cc-option,-march=armv5te,-march=armv4t) | 57 | arch-$(CONFIG_CPU_32v5) :=-D__LINUX_ARM_ARCH__=5 $(call cc-option,-march=armv5te,-march=armv4t) |
| 53 | arch-$(CONFIG_CPU_32v4T) :=-D__LINUX_ARM_ARCH__=4 -march=armv4t | 58 | arch-$(CONFIG_CPU_32v4T) :=-D__LINUX_ARM_ARCH__=4 -march=armv4t |
| 54 | arch-$(CONFIG_CPU_32v4) :=-D__LINUX_ARM_ARCH__=4 -march=armv4 | 59 | arch-$(CONFIG_CPU_32v4) :=-D__LINUX_ARM_ARCH__=4 -march=armv4 |
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index e684e9b38216..b81391a4e374 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig | |||
| @@ -366,6 +366,19 @@ config CPU_32v6K | |||
| 366 | enabled will not boot on processors with do not support these | 366 | enabled will not boot on processors with do not support these |
| 367 | instructions. | 367 | instructions. |
| 368 | 368 | ||
| 369 | # ARMv7 | ||
| 370 | config CPU_V7 | ||
| 371 | bool "Support ARM V7 processor" | ||
| 372 | depends on ARCH_INTEGRATOR | ||
| 373 | select CPU_32v6K | ||
| 374 | select CPU_32v7 | ||
| 375 | select CPU_ABRT_EV7 | ||
| 376 | select CPU_CACHE_V7 | ||
| 377 | select CPU_CACHE_VIPT | ||
| 378 | select CPU_CP15_MMU | ||
| 379 | select CPU_COPY_V6 if MMU | ||
| 380 | select CPU_TLB_V6 if MMU | ||
| 381 | |||
| 369 | # Figure out what processor architecture version we should be using. | 382 | # Figure out what processor architecture version we should be using. |
| 370 | # This defines the compiler instruction set which depends on the machine type. | 383 | # This defines the compiler instruction set which depends on the machine type. |
| 371 | config CPU_32v3 | 384 | config CPU_32v3 |
| @@ -391,6 +404,9 @@ config CPU_32v5 | |||
| 391 | config CPU_32v6 | 404 | config CPU_32v6 |
| 392 | bool | 405 | bool |
| 393 | 406 | ||
| 407 | config CPU_32v7 | ||
| 408 | bool | ||
| 409 | |||
| 394 | # The abort model | 410 | # The abort model |
| 395 | config CPU_ABRT_NOMMU | 411 | config CPU_ABRT_NOMMU |
| 396 | bool | 412 | bool |
| @@ -413,6 +429,9 @@ config CPU_ABRT_EV5TJ | |||
| 413 | config CPU_ABRT_EV6 | 429 | config CPU_ABRT_EV6 |
| 414 | bool | 430 | bool |
| 415 | 431 | ||
| 432 | config CPU_ABRT_EV7 | ||
| 433 | bool | ||
| 434 | |||
| 416 | # The cache model | 435 | # The cache model |
| 417 | config CPU_CACHE_V3 | 436 | config CPU_CACHE_V3 |
| 418 | bool | 437 | bool |
| @@ -429,6 +448,9 @@ config CPU_CACHE_V4WB | |||
| 429 | config CPU_CACHE_V6 | 448 | config CPU_CACHE_V6 |
| 430 | bool | 449 | bool |
| 431 | 450 | ||
| 451 | config CPU_CACHE_V7 | ||
| 452 | bool | ||
| 453 | |||
| 432 | config CPU_CACHE_VIVT | 454 | config CPU_CACHE_VIVT |
| 433 | bool | 455 | bool |
| 434 | 456 | ||
| @@ -503,7 +525,7 @@ comment "Processor Features" | |||
| 503 | 525 | ||
| 504 | config ARM_THUMB | 526 | config ARM_THUMB |
| 505 | bool "Support Thumb user binaries" | 527 | bool "Support Thumb user binaries" |
| 506 | depends on CPU_ARM720T || CPU_ARM740T || CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM940T || CPU_ARM946E || CPU_ARM1020 || CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || CPU_XSCALE || CPU_XSC3 || CPU_V6 | 528 | depends on CPU_ARM720T || CPU_ARM740T || CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM940T || CPU_ARM946E || CPU_ARM1020 || CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || CPU_XSCALE || CPU_XSC3 || CPU_V6 || CPU_V7 |
| 507 | default y | 529 | default y |
| 508 | help | 530 | help |
| 509 | Say Y if you want to include kernel support for running user space | 531 | Say Y if you want to include kernel support for running user space |
| @@ -578,9 +600,15 @@ config CPU_CACHE_ROUND_ROBIN | |||
| 578 | Say Y here to use the predictable round-robin cache replacement | 600 | Say Y here to use the predictable round-robin cache replacement |
| 579 | policy. Unless you specifically require this or are unsure, say N. | 601 | policy. Unless you specifically require this or are unsure, say N. |
| 580 | 602 | ||
| 603 | config CPU_L2CACHE_DISABLE | ||
| 604 | bool "Disable level 2 cache" | ||
| 605 | depends on CPU_V7 | ||
| 606 | help | ||
| 607 | Say Y here to disable the level 2 cache. If unsure, say N. | ||
| 608 | |||
| 581 | config CPU_BPREDICT_DISABLE | 609 | config CPU_BPREDICT_DISABLE |
| 582 | bool "Disable branch prediction" | 610 | bool "Disable branch prediction" |
| 583 | depends on CPU_ARM1020 || CPU_V6 || CPU_XSC3 | 611 | depends on CPU_ARM1020 || CPU_V6 || CPU_XSC3 || CPU_V7 |
| 584 | help | 612 | help |
| 585 | Say Y here to disable branch prediction. If unsure, say N. | 613 | Say Y here to disable branch prediction. If unsure, say N. |
| 586 | 614 | ||
diff --git a/arch/arm/mm/Makefile b/arch/arm/mm/Makefile index 2f8b95947774..b5bd335ff14a 100644 --- a/arch/arm/mm/Makefile +++ b/arch/arm/mm/Makefile | |||
| @@ -24,12 +24,14 @@ obj-$(CONFIG_CPU_ABRT_LV4T) += abort-lv4t.o | |||
| 24 | obj-$(CONFIG_CPU_ABRT_EV5T) += abort-ev5t.o | 24 | obj-$(CONFIG_CPU_ABRT_EV5T) += abort-ev5t.o |
| 25 | obj-$(CONFIG_CPU_ABRT_EV5TJ) += abort-ev5tj.o | 25 | obj-$(CONFIG_CPU_ABRT_EV5TJ) += abort-ev5tj.o |
| 26 | obj-$(CONFIG_CPU_ABRT_EV6) += abort-ev6.o | 26 | obj-$(CONFIG_CPU_ABRT_EV6) += abort-ev6.o |
| 27 | obj-$(CONFIG_CPU_ABRT_EV7) += abort-ev7.o | ||
| 27 | 28 | ||
| 28 | obj-$(CONFIG_CPU_CACHE_V3) += cache-v3.o | 29 | obj-$(CONFIG_CPU_CACHE_V3) += cache-v3.o |
| 29 | obj-$(CONFIG_CPU_CACHE_V4) += cache-v4.o | 30 | obj-$(CONFIG_CPU_CACHE_V4) += cache-v4.o |
| 30 | obj-$(CONFIG_CPU_CACHE_V4WT) += cache-v4wt.o | 31 | obj-$(CONFIG_CPU_CACHE_V4WT) += cache-v4wt.o |
| 31 | obj-$(CONFIG_CPU_CACHE_V4WB) += cache-v4wb.o | 32 | obj-$(CONFIG_CPU_CACHE_V4WB) += cache-v4wb.o |
| 32 | obj-$(CONFIG_CPU_CACHE_V6) += cache-v6.o | 33 | obj-$(CONFIG_CPU_CACHE_V6) += cache-v6.o |
| 34 | obj-$(CONFIG_CPU_CACHE_V7) += cache-v7.o | ||
| 33 | 35 | ||
| 34 | obj-$(CONFIG_CPU_COPY_V3) += copypage-v3.o | 36 | obj-$(CONFIG_CPU_COPY_V3) += copypage-v3.o |
| 35 | obj-$(CONFIG_CPU_COPY_V4WT) += copypage-v4wt.o | 37 | obj-$(CONFIG_CPU_COPY_V4WT) += copypage-v4wt.o |
| @@ -66,5 +68,6 @@ obj-$(CONFIG_CPU_SA1100) += proc-sa1100.o | |||
| 66 | obj-$(CONFIG_CPU_XSCALE) += proc-xscale.o | 68 | obj-$(CONFIG_CPU_XSCALE) += proc-xscale.o |
| 67 | obj-$(CONFIG_CPU_XSC3) += proc-xsc3.o | 69 | obj-$(CONFIG_CPU_XSC3) += proc-xsc3.o |
| 68 | obj-$(CONFIG_CPU_V6) += proc-v6.o | 70 | obj-$(CONFIG_CPU_V6) += proc-v6.o |
| 71 | obj-$(CONFIG_CPU_V7) += proc-v7.o | ||
| 69 | 72 | ||
| 70 | obj-$(CONFIG_CACHE_L2X0) += cache-l2x0.o | 73 | obj-$(CONFIG_CACHE_L2X0) += cache-l2x0.o |
