forked from Minki/linux
[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: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
65145e060b
commit
5be061eee9
@ -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;
|
|||||||
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,
|
|||||||
|
|
||||||
#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)
|
|||||||
#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,
|
|||||||
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)
|
|||||||
#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,
|
|||||||
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)
|
|||||||
#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,
|
|||||||
|
|
||||||
#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;
|
|||||||
#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 */
|
||||||
|
Loading…
Reference in New Issue
Block a user