提交 5be061ee 编写于 作者: K Kumar Gala 提交者: Linus Torvalds

[PATCH] ppc32: Clean up NUM_TLBCAMS usage for Freescale Book-E PPC's

Made the number of TLB CAM entries private and converted the board
consumers to use num_tlbcam_entries which is setup at boot time from
configuration registers.  This way the only consumers of the #define
NUM_TLBCAMS are the arrays used to manage the TLB.
Signed-off-by: NKumar Gala <kumar.gala@freescale.com>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 65145e06
...@@ -64,6 +64,8 @@ extern unsigned long total_lowmem; ...@@ -64,6 +64,8 @@ extern unsigned long total_lowmem;
extern unsigned long __max_low_memory; extern unsigned long __max_low_memory;
#define MAX_LOW_MEM CONFIG_LOWMEM_SIZE #define MAX_LOW_MEM CONFIG_LOWMEM_SIZE
#define NUM_TLBCAMS (16)
struct tlbcam { struct tlbcam {
u32 MAS0; u32 MAS0;
u32 MAS1; u32 MAS1;
......
...@@ -43,6 +43,8 @@ extern int mem_init_done; ...@@ -43,6 +43,8 @@ extern int mem_init_done;
extern PTE *Hash, *Hash_end; extern PTE *Hash, *Hash_end;
extern unsigned long Hash_size, Hash_mask; extern unsigned long Hash_size, Hash_mask;
extern unsigned int num_tlbcam_entries;
/* ...and now those things that may be slightly different between processor /* ...and now those things that may be slightly different between processor
* architectures. -- Dan * architectures. -- Dan
*/ */
......
...@@ -66,7 +66,6 @@ void setbat(int index, unsigned long virt, unsigned long phys, ...@@ -66,7 +66,6 @@ void setbat(int index, unsigned long virt, unsigned long phys,
#ifdef HAVE_TLBCAM #ifdef HAVE_TLBCAM
extern unsigned int tlbcam_index; extern unsigned int tlbcam_index;
extern unsigned int num_tlbcam_entries;
extern unsigned long v_mapped_by_tlbcam(unsigned long va); extern unsigned long v_mapped_by_tlbcam(unsigned long va);
extern unsigned long p_mapped_by_tlbcam(unsigned long pa); extern unsigned long p_mapped_by_tlbcam(unsigned long pa);
#else /* !HAVE_TLBCAM */ #else /* !HAVE_TLBCAM */
......
...@@ -88,7 +88,7 @@ mpc8540ads_setup_arch(void) ...@@ -88,7 +88,7 @@ mpc8540ads_setup_arch(void)
#ifdef CONFIG_SERIAL_TEXT_DEBUG #ifdef CONFIG_SERIAL_TEXT_DEBUG
/* Invalidate the entry we stole earlier the serial ports /* Invalidate the entry we stole earlier the serial ports
* should be properly mapped */ * should be properly mapped */
invalidate_tlbcam_entry(NUM_TLBCAMS - 1); invalidate_tlbcam_entry(num_tlbcam_entries - 1);
#endif #endif
/* setup the board related information for the enet controllers */ /* setup the board related information for the enet controllers */
...@@ -150,7 +150,7 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5, ...@@ -150,7 +150,7 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
struct uart_port p; struct uart_port p;
/* Use the last TLB entry to map CCSRBAR to allow access to DUART regs */ /* Use the last TLB entry to map CCSRBAR to allow access to DUART regs */
settlbcam(NUM_TLBCAMS - 1, binfo->bi_immr_base, settlbcam(num_tlbcam_entries - 1, binfo->bi_immr_base,
binfo->bi_immr_base, MPC85xx_CCSRBAR_SIZE, _PAGE_IO, 0); binfo->bi_immr_base, MPC85xx_CCSRBAR_SIZE, _PAGE_IO, 0);
memset(&p, 0, sizeof (p)); memset(&p, 0, sizeof (p));
......
...@@ -446,7 +446,7 @@ mpc85xx_cds_setup_arch(void) ...@@ -446,7 +446,7 @@ mpc85xx_cds_setup_arch(void)
#ifdef CONFIG_SERIAL_TEXT_DEBUG #ifdef CONFIG_SERIAL_TEXT_DEBUG
/* Invalidate the entry we stole earlier the serial ports /* Invalidate the entry we stole earlier the serial ports
* should be properly mapped */ * should be properly mapped */
invalidate_tlbcam_entry(NUM_TLBCAMS - 1); invalidate_tlbcam_entry(num_tlbcam_entries - 1);
#endif #endif
/* setup the board related information for the enet controllers */ /* setup the board related information for the enet controllers */
...@@ -528,7 +528,7 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5, ...@@ -528,7 +528,7 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
struct uart_port p; struct uart_port p;
/* Use the last TLB entry to map CCSRBAR to allow access to DUART regs */ /* Use the last TLB entry to map CCSRBAR to allow access to DUART regs */
settlbcam(NUM_TLBCAMS - 1, binfo->bi_immr_base, settlbcam(num_tlbcam_entries - 1, binfo->bi_immr_base,
binfo->bi_immr_base, MPC85xx_CCSRBAR_SIZE, _PAGE_IO, 0); binfo->bi_immr_base, MPC85xx_CCSRBAR_SIZE, _PAGE_IO, 0);
memset(&p, 0, sizeof (p)); memset(&p, 0, sizeof (p));
......
...@@ -125,7 +125,7 @@ sbc8560_setup_arch(void) ...@@ -125,7 +125,7 @@ sbc8560_setup_arch(void)
#ifdef CONFIG_SERIAL_TEXT_DEBUG #ifdef CONFIG_SERIAL_TEXT_DEBUG
/* Invalidate the entry we stole earlier the serial ports /* Invalidate the entry we stole earlier the serial ports
* should be properly mapped */ * should be properly mapped */
invalidate_tlbcam_entry(NUM_TLBCAMS - 1); invalidate_tlbcam_entry(num_tlbcam_entries - 1);
#endif #endif
/* setup the board related information for the enet controllers */ /* setup the board related information for the enet controllers */
...@@ -176,7 +176,7 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5, ...@@ -176,7 +176,7 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
#ifdef CONFIG_SERIAL_TEXT_DEBUG #ifdef CONFIG_SERIAL_TEXT_DEBUG
/* Use the last TLB entry to map CCSRBAR to allow access to DUART regs */ /* Use the last TLB entry to map CCSRBAR to allow access to DUART regs */
settlbcam(NUM_TLBCAMS - 1, UARTA_ADDR, settlbcam(num_tlbcam_entries - 1, UARTA_ADDR,
UARTA_ADDR, 0x1000, _PAGE_IO, 0); UARTA_ADDR, 0x1000, _PAGE_IO, 0);
#endif #endif
......
...@@ -267,8 +267,6 @@ extern unsigned long ioremap_bot, ioremap_base; ...@@ -267,8 +267,6 @@ extern unsigned long ioremap_bot, ioremap_base;
#define _PMD_PRESENT_MASK (PAGE_MASK) #define _PMD_PRESENT_MASK (PAGE_MASK)
#define _PMD_BAD (~PAGE_MASK) #define _PMD_BAD (~PAGE_MASK)
#define NUM_TLBCAMS (16)
#elif defined(CONFIG_8xx) #elif defined(CONFIG_8xx)
/* Definitions for 8xx embedded chips. */ /* Definitions for 8xx embedded chips. */
#define _PAGE_PRESENT 0x0001 /* Page is valid */ #define _PAGE_PRESENT 0x0001 /* Page is valid */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册