Skip to content

Commit 05cdf45

Browse files
author
Michal Simek
committed
microblaze: Remove noMMU code
This configuration is obsolete and likely none is really using it. That's why remove it to simplify code. Note about CONFIG_MMU in hw_exception_handler.S is left intentionally for better comment understanding. Cc: Mike Rapoport <[email protected]> Cc: Arnd Bergmann <[email protected]> Signed-off-by: Michal Simek <[email protected]> Acked-by: Mike Rapoport <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Link: https://lore.kernel.org/r/43486cab370e0c0a79860120b71e0caac75a7e44.1606397528.git.michal.simek@xilinx.com
1 parent ed2124c commit 05cdf45

32 files changed

+11
-1251
lines changed

arch/microblaze/Kconfig

Lines changed: 6 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,17 @@ config MICROBLAZE
33
def_bool y
44
select ARCH_32BIT_OFF_T
55
select ARCH_NO_SWAP
6-
select ARCH_HAS_BINFMT_FLAT if !MMU
76
select ARCH_HAS_DMA_PREP_COHERENT
87
select ARCH_HAS_GCOV_PROFILE_ALL
98
select ARCH_HAS_SYNC_DMA_FOR_CPU
109
select ARCH_HAS_SYNC_DMA_FOR_DEVICE
11-
select ARCH_HAS_DMA_SET_UNCACHED if !MMU
1210
select ARCH_MIGHT_HAVE_PC_PARPORT
1311
select ARCH_WANT_IPC_PARSE_VERSION
1412
select BUILDTIME_TABLE_SORT
1513
select TIMER_OF
1614
select CLONE_BACKWARDS3
1715
select COMMON_CLK
18-
select DMA_DIRECT_REMAP if MMU
16+
select DMA_DIRECT_REMAP
1917
select GENERIC_ATOMIC64
2018
select GENERIC_CLOCKEVENTS
2119
select GENERIC_CPU_DEVICES
@@ -45,7 +43,7 @@ config MICROBLAZE
4543
select TRACING_SUPPORT
4644
select VIRT_TO_BUS
4745
select CPU_NO_EFFICIENT_FFS
48-
select MMU_GATHER_NO_RANGE if MMU
46+
select MMU_GATHER_NO_RANGE
4947
select SPARSE_IRQ
5048
select SET_FS
5149

@@ -96,8 +94,7 @@ menu "Processor type and features"
9694
source "kernel/Kconfig.hz"
9795

9896
config MMU
99-
bool "MMU support"
100-
default n
97+
def_bool y
10198

10299
comment "Boot options"
103100

@@ -143,18 +140,8 @@ config ADVANCED_OPTIONS
143140
comment "Default settings for advanced configuration options are used"
144141
depends on !ADVANCED_OPTIONS
145142

146-
config XILINX_UNCACHED_SHADOW
147-
bool "Are you using uncached shadow for RAM ?"
148-
depends on ADVANCED_OPTIONS && !MMU
149-
default n
150-
help
151-
This is needed to be able to allocate uncachable memory regions.
152-
The feature requires the design to define the RAM memory controller
153-
window to be twice as large as the actual physical memory.
154-
155143
config HIGHMEM
156144
bool "High memory support"
157-
depends on MMU
158145
help
159146
The address space of Microblaze processors is only 4 Gigabytes large
160147
and it has to accommodate user address space, kernel address
@@ -167,7 +154,7 @@ config HIGHMEM
167154

168155
config LOWMEM_SIZE_BOOL
169156
bool "Set maximum low memory"
170-
depends on ADVANCED_OPTIONS && MMU
157+
depends on ADVANCED_OPTIONS
171158
help
172159
This option allows you to set the maximum amount of memory which
173160
will be used as "low memory", that is, memory which the kernel can
@@ -205,12 +192,11 @@ config KERNEL_START_BOOL
205192

206193
config KERNEL_START
207194
hex "Virtual address of kernel base" if KERNEL_START_BOOL
208-
default "0xc0000000" if MMU
209-
default KERNEL_BASE_ADDR if !MMU
195+
default "0xc0000000"
210196

211197
config TASK_SIZE_BOOL
212198
bool "Set custom user task size"
213-
depends on ADVANCED_OPTIONS && MMU
199+
depends on ADVANCED_OPTIONS
214200
help
215201
This option allows you to set the amount of virtual address space
216202
allocated to user tasks. This can be useful in optimizing the
@@ -222,33 +208,6 @@ config TASK_SIZE
222208
hex "Size of user task space" if TASK_SIZE_BOOL
223209
default "0x80000000"
224210

225-
choice
226-
prompt "Page size"
227-
default MICROBLAZE_4K_PAGES
228-
depends on ADVANCED_OPTIONS && !MMU
229-
help
230-
Select the kernel logical page size. Increasing the page size
231-
will reduce software overhead at each page boundary, allow
232-
hardware prefetch mechanisms to be more effective, and allow
233-
larger dma transfers increasing IO efficiency and reducing
234-
overhead. However the utilization of memory will increase.
235-
For example, each cached file will using a multiple of the
236-
page size to hold its contents and the difference between the
237-
end of file and the end of page is wasted.
238-
239-
If unsure, choose 4K_PAGES.
240-
241-
config MICROBLAZE_4K_PAGES
242-
bool "4k page size"
243-
244-
config MICROBLAZE_16K_PAGES
245-
bool "16k page size"
246-
247-
config MICROBLAZE_64K_PAGES
248-
bool "64k page size"
249-
250-
endchoice
251-
252211
endmenu
253212

254213
menu "Bus Options"

arch/microblaze/Makefile

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
KBUILD_DEFCONFIG := mmu_defconfig
33

4-
ifeq ($(CONFIG_MMU),y)
54
UTS_SYSNAME = -DUTS_SYSNAME=\"Linux\"
6-
else
7-
UTS_SYSNAME = -DUTS_SYSNAME=\"uClinux\"
8-
endif
95

106
# What CPU vesion are we building for, and crack it open
117
# as major.minor.rev
@@ -67,12 +63,7 @@ DTB:=$(subst simpleImage.,,$(filter simpleImage.%, $(MAKECMDGOALS)))
6763

6864
core-y += $(boot)/dts/
6965

70-
# defines filename extension depending memory management type
71-
ifeq ($(CONFIG_MMU),)
72-
MMU := -nommu
73-
endif
74-
75-
export MMU DTB
66+
export DTB
7667

7768
all: linux.bin
7869

arch/microblaze/configs/mmu_defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ CONFIG_XILINX_MICROBLAZE0_USE_DIV=1
1616
CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=2
1717
CONFIG_XILINX_MICROBLAZE0_USE_FPU=2
1818
CONFIG_HZ_100=y
19-
CONFIG_MMU=y
2019
CONFIG_CMDLINE_BOOL=y
2120
CONFIG_CMDLINE_FORCE=y
2221
CONFIG_HIGHMEM=y

arch/microblaze/configs/nommu_defconfig

Lines changed: 0 additions & 90 deletions
This file was deleted.

arch/microblaze/include/asm/dma.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,8 @@
66
#ifndef _ASM_MICROBLAZE_DMA_H
77
#define _ASM_MICROBLAZE_DMA_H
88

9-
#ifndef CONFIG_MMU
10-
/* we don't have dma address limit. define it as zero to be
11-
* unlimited. */
12-
#define MAX_DMA_ADDRESS (0)
13-
#else
149
/* Virtual address corresponding to last available physical memory address. */
1510
#define MAX_DMA_ADDRESS (CONFIG_KERNEL_START + memory_size - 1)
16-
#endif
1711

1812
#ifdef CONFIG_PCI
1913
extern int isa_dma_bridge_buggy;

arch/microblaze/include/asm/exceptions.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,6 @@
1111
#define _ASM_MICROBLAZE_EXCEPTIONS_H
1212

1313
#ifdef __KERNEL__
14-
15-
#ifndef CONFIG_MMU
16-
#define EX_HANDLER_STACK_SIZ (4*19)
17-
#endif
18-
1914
#ifndef __ASSEMBLY__
2015

2116
/* Macros to enable and disable HW exceptions in the MSR */

arch/microblaze/include/asm/io.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,12 @@ extern resource_size_t isa_mem_base;
3030
#define PCI_IOBASE ((void __iomem *)_IO_BASE)
3131
#define IO_SPACE_LIMIT (0xFFFFFFFF)
3232

33-
#ifdef CONFIG_MMU
3433
#define page_to_bus(page) (page_to_phys(page))
3534

3635
extern void iounmap(volatile void __iomem *addr);
3736

3837
extern void __iomem *ioremap(phys_addr_t address, unsigned long size);
3938

40-
#endif /* CONFIG_MMU */
41-
4239
/* Big Endian */
4340
#define out_be32(a, v) __raw_writel((v), (void __iomem __force *)(a))
4441
#define out_be16(a, v) __raw_writew((v), (a))

arch/microblaze/include/asm/mmu.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@
88
#ifndef _ASM_MICROBLAZE_MMU_H
99
#define _ASM_MICROBLAZE_MMU_H
1010

11-
# ifndef CONFIG_MMU
12-
# include <asm-generic/mmu.h>
13-
# else /* CONFIG_MMU */
1411
# ifdef __KERNEL__
1512
# ifndef __ASSEMBLY__
1613

@@ -119,5 +116,4 @@ extern u32 tlb_skip;
119116
# define TLB_G 0x00000001 /* Memory is guarded from prefetch */
120117

121118
# endif /* __KERNEL__ */
122-
# endif /* CONFIG_MMU */
123119
#endif /* _ASM_MICROBLAZE_MMU_H */
Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,2 @@
11
/* SPDX-License-Identifier: GPL-2.0 */
2-
#ifdef CONFIG_MMU
32
# include <asm/mmu_context_mm.h>
4-
#else
5-
# include <asm-generic/mmu_context.h>
6-
#endif

0 commit comments

Comments
 (0)