Commit f136008f authored by Guo Ren's avatar Guo Ren
Browse files

csky: Separate fixaddr_init from highmem



After fixaddr_init is separated from highmem, we could use tcm
without highmem selected. (610 (abiv1) don't support highmem,
but it could use tcm now.)

Signed-off-by: default avatarGuo Ren <guoren@linux.alibaba.com>
parent f525bb2c
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -191,7 +191,6 @@ endchoice

menuconfig HAVE_TCM
	bool "Tightly-Coupled/Sram Memory"
	depends on HIGHMEM
	select GENERIC_ALLOCATOR
	help
	  The implementation are not only used by TCM (Tightly-Coupled Meory)
+4 −0
Original line number Diff line number Diff line
@@ -27,4 +27,8 @@ enum fixed_addresses {

#include <asm-generic/fixmap.h>

extern void fixrange_init(unsigned long start, unsigned long end,
	pgd_t *pgd_base);
extern void __init fixaddr_init(void);

#endif /* __ASM_CSKY_FIXMAP_H */
+3 −0
Original line number Diff line number Diff line
@@ -9,6 +9,9 @@
#include <linux/sizes.h>

#define FIXADDR_TOP	_AC(0xffffc000, UL)
#define PKMAP_BASE	_AC(0xff800000, UL)
#define VMALLOC_START	_AC(0xc0008000, UL)
#define VMALLOC_END	(PKMAP_BASE - (PAGE_SIZE * 2))

#ifdef CONFIG_HAVE_TCM
#ifdef CONFIG_HAVE_DTCM
+1 −5
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@
#define __ASM_CSKY_PGTABLE_H

#include <asm/fixmap.h>
#include <asm/memory.h>
#include <asm/addrspace.h>
#include <abi/pgtable-bits.h>
#include <asm-generic/pgtable-nopmd.h>
@@ -16,11 +17,6 @@
#define USER_PTRS_PER_PGD	(0x80000000UL/PGDIR_SIZE)
#define FIRST_USER_ADDRESS	0UL

#define PKMAP_BASE		(0xff800000)

#define VMALLOC_START		(0xc0008000)
#define VMALLOC_END		(PKMAP_BASE - 2*PAGE_SIZE)

/*
 * C-SKY is two-level paging structure:
 */
+2 −0
Original line number Diff line number Diff line
@@ -133,6 +133,8 @@ void __init setup_arch(char **cmdline_p)

	sparse_init();

	fixaddr_init();

#ifdef CONFIG_HIGHMEM
	kmap_init();
#endif
Loading