Skip to content

Commit

Permalink
Merge tag 'microblaze-v5.11' of git://git.monstr.eu/linux-2.6-microblaze
Browse files Browse the repository at this point in the history
Pull microblaze updates from Michal Simek:
 "The biggest change is to remove support for noMMU configuration.

  FPGAs are bigger so people use Microblaze with MMU for a lot of years
  and there is likely no user of this code anymore. No one is updating
  libraries for this configuration either.

   - Remove noMMU support

   - Add support for TIF_NOTIFY_SIGNAL

   - Small header fix"

* tag 'microblaze-v5.11' of git://git.monstr.eu/linux-2.6-microblaze:
  microblaze: Remove noMMU code
  microblaze: add support for TIF_NOTIFY_SIGNAL
  microblaze: Replace <linux/clk-provider.h> by <linux/of_clk.h>
  • Loading branch information
torvalds committed Dec 16, 2020
2 parents 7acfd42 + 05cdf45 commit 66fc6a6
Show file tree
Hide file tree
Showing 33 changed files with 16 additions and 1,255 deletions.
53 changes: 6 additions & 47 deletions arch/microblaze/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,17 @@ config MICROBLAZE
def_bool y
select ARCH_32BIT_OFF_T
select ARCH_NO_SWAP
select ARCH_HAS_BINFMT_FLAT if !MMU
select ARCH_HAS_DMA_PREP_COHERENT
select ARCH_HAS_GCOV_PROFILE_ALL
select ARCH_HAS_SYNC_DMA_FOR_CPU
select ARCH_HAS_SYNC_DMA_FOR_DEVICE
select ARCH_HAS_DMA_SET_UNCACHED if !MMU
select ARCH_MIGHT_HAVE_PC_PARPORT
select ARCH_WANT_IPC_PARSE_VERSION
select BUILDTIME_TABLE_SORT
select TIMER_OF
select CLONE_BACKWARDS3
select COMMON_CLK
select DMA_DIRECT_REMAP if MMU
select DMA_DIRECT_REMAP
select GENERIC_ATOMIC64
select GENERIC_CPU_DEVICES
select GENERIC_IDLE_POLL_SETUP
Expand Down Expand Up @@ -44,7 +42,7 @@ config MICROBLAZE
select TRACING_SUPPORT
select VIRT_TO_BUS
select CPU_NO_EFFICIENT_FFS
select MMU_GATHER_NO_RANGE if MMU
select MMU_GATHER_NO_RANGE
select SPARSE_IRQ
select SET_FS

Expand Down Expand Up @@ -95,8 +93,7 @@ menu "Processor type and features"
source "kernel/Kconfig.hz"

config MMU
bool "MMU support"
default n
def_bool y

comment "Boot options"

Expand Down Expand Up @@ -142,18 +139,8 @@ config ADVANCED_OPTIONS
comment "Default settings for advanced configuration options are used"
depends on !ADVANCED_OPTIONS

config XILINX_UNCACHED_SHADOW
bool "Are you using uncached shadow for RAM ?"
depends on ADVANCED_OPTIONS && !MMU
default n
help
This is needed to be able to allocate uncachable memory regions.
The feature requires the design to define the RAM memory controller
window to be twice as large as the actual physical memory.

config HIGHMEM
bool "High memory support"
depends on MMU
select KMAP_LOCAL
help
The address space of Microblaze processors is only 4 Gigabytes large
Expand All @@ -167,7 +154,7 @@ config HIGHMEM

config LOWMEM_SIZE_BOOL
bool "Set maximum low memory"
depends on ADVANCED_OPTIONS && MMU
depends on ADVANCED_OPTIONS
help
This option allows you to set the maximum amount of memory which
will be used as "low memory", that is, memory which the kernel can
Expand Down Expand Up @@ -205,12 +192,11 @@ config KERNEL_START_BOOL

config KERNEL_START
hex "Virtual address of kernel base" if KERNEL_START_BOOL
default "0xc0000000" if MMU
default KERNEL_BASE_ADDR if !MMU
default "0xc0000000"

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

choice
prompt "Page size"
default MICROBLAZE_4K_PAGES
depends on ADVANCED_OPTIONS && !MMU
help
Select the kernel logical page size. Increasing the page size
will reduce software overhead at each page boundary, allow
hardware prefetch mechanisms to be more effective, and allow
larger dma transfers increasing IO efficiency and reducing
overhead. However the utilization of memory will increase.
For example, each cached file will using a multiple of the
page size to hold its contents and the difference between the
end of file and the end of page is wasted.

If unsure, choose 4K_PAGES.

config MICROBLAZE_4K_PAGES
bool "4k page size"

config MICROBLAZE_16K_PAGES
bool "16k page size"

config MICROBLAZE_64K_PAGES
bool "64k page size"

endchoice

endmenu

menu "Bus Options"
Expand Down
11 changes: 1 addition & 10 deletions arch/microblaze/Makefile
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
KBUILD_DEFCONFIG := mmu_defconfig

ifeq ($(CONFIG_MMU),y)
UTS_SYSNAME = -DUTS_SYSNAME=\"Linux\"
else
UTS_SYSNAME = -DUTS_SYSNAME=\"uClinux\"
endif

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

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

# defines filename extension depending memory management type
ifeq ($(CONFIG_MMU),)
MMU := -nommu
endif

export MMU DTB
export DTB

all: linux.bin

Expand Down
1 change: 0 additions & 1 deletion arch/microblaze/configs/mmu_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ CONFIG_XILINX_MICROBLAZE0_USE_DIV=1
CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=2
CONFIG_XILINX_MICROBLAZE0_USE_FPU=2
CONFIG_HZ_100=y
CONFIG_MMU=y
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE_FORCE=y
CONFIG_HIGHMEM=y
Expand Down
90 changes: 0 additions & 90 deletions arch/microblaze/configs/nommu_defconfig

This file was deleted.

6 changes: 0 additions & 6 deletions arch/microblaze/include/asm/dma.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,8 @@
#ifndef _ASM_MICROBLAZE_DMA_H
#define _ASM_MICROBLAZE_DMA_H

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

#ifdef CONFIG_PCI
extern int isa_dma_bridge_buggy;
Expand Down
5 changes: 0 additions & 5 deletions arch/microblaze/include/asm/exceptions.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,6 @@
#define _ASM_MICROBLAZE_EXCEPTIONS_H

#ifdef __KERNEL__

#ifndef CONFIG_MMU
#define EX_HANDLER_STACK_SIZ (4*19)
#endif

#ifndef __ASSEMBLY__

/* Macros to enable and disable HW exceptions in the MSR */
Expand Down
3 changes: 0 additions & 3 deletions arch/microblaze/include/asm/io.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,12 @@ extern resource_size_t isa_mem_base;
#define PCI_IOBASE ((void __iomem *)_IO_BASE)
#define IO_SPACE_LIMIT (0xFFFFFFFF)

#ifdef CONFIG_MMU
#define page_to_bus(page) (page_to_phys(page))

extern void iounmap(volatile void __iomem *addr);

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

#endif /* CONFIG_MMU */

/* Big Endian */
#define out_be32(a, v) __raw_writel((v), (void __iomem __force *)(a))
#define out_be16(a, v) __raw_writew((v), (a))
Expand Down
4 changes: 0 additions & 4 deletions arch/microblaze/include/asm/mmu.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@
#ifndef _ASM_MICROBLAZE_MMU_H
#define _ASM_MICROBLAZE_MMU_H

# ifndef CONFIG_MMU
# include <asm-generic/mmu.h>
# else /* CONFIG_MMU */
# ifdef __KERNEL__
# ifndef __ASSEMBLY__

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

# endif /* __KERNEL__ */
# endif /* CONFIG_MMU */
#endif /* _ASM_MICROBLAZE_MMU_H */
4 changes: 0 additions & 4 deletions arch/microblaze/include/asm/mmu_context.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,2 @@
/* SPDX-License-Identifier: GPL-2.0 */
#ifdef CONFIG_MMU
# include <asm/mmu_context_mm.h>
#else
# include <asm-generic/nommu_context.h>
#endif
Loading

0 comments on commit 66fc6a6

Please sign in to comment.