summaryrefslogtreecommitdiff
path: root/target/linux
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2019-11-05 12:17:19 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2020-01-28 11:22:47 +0100
commit8267a326599860d1b46f9c0d2a6e4863c03f1712 (patch)
tree296dd6b52616942b94fc342eaf2bb6df82f002e7 /target/linux
parent7eb784ff9c7302e5954cfdcdd484011136f59ec5 (diff)
lm32: update to 4.8 linux port, same delay loop issue :(
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/Config.in.kernelversion6
-rw-r--r--target/linux/patches/b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8/delay.patch12
-rw-r--r--target/linux/patches/b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8/uapi.patch156
3 files changed, 171 insertions, 3 deletions
diff --git a/target/linux/Config.in.kernelversion b/target/linux/Config.in.kernelversion
index 31757bcd9..43d6b027a 100644
--- a/target/linux/Config.in.kernelversion
+++ b/target/linux/Config.in.kernelversion
@@ -207,7 +207,7 @@ config ADK_TARGET_LINUX_KERNEL_GIT_REPO
default "https://github.com/SolidRun/linux-armada38x.git" if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
default "https://github.com/beagleboard/linux.git" if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
default "https://git.phytec.de/git/linux-ti.git" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
- default "https://github.com/m-labs/linux-milkymist.git" if ADK_TARGET_ARCH_LM32
+ default "https://github.com/shenki/linux-lm32.git" if ADK_TARGET_ARCH_LM32
default "https://github.com/riscv/riscv-linux.git" if ADK_TARGET_ARCH_RISCV32
default "https://github.com/riscv/riscv-linux.git" if ADK_TARGET_ARCH_RISCV64
default "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git"
@@ -232,7 +232,7 @@ config ADK_TARGET_LINUX_KERNEL_GIT_REPO_NAME
config ADK_TARGET_LINUX_KERNEL_GIT
string "git version"
depends on ADK_TARGET_LINUX_KERNEL_VERSION_GIT
- default "6a2f2e4198eaff63ee75f6085ce9f966c47b4441" if ADK_TARGET_ARCH_LM32
+ default "b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8" if ADK_TARGET_ARCH_LM32
default "a2092141807514666a273971cc8fa9e80f14439f" if ADK_TARGET_BOARD_BCM28XX
default "f8d3b2a0fa5054aaed0f14cd457db9d8922bb167" if ADK_TARGET_SYSTEM_ADSP_BF537
default "e7c8afc1dda7b7c18596d90ad6a17ae886650b72" if ADK_TARGET_SYSTEM_KINETIS_K70
@@ -253,7 +253,7 @@ config ADK_TARGET_LINUX_KERNEL_GIT_VER
default "4.4.52" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
default "2.6.33" if ADK_TARGET_SYSTEM_KINETIS_K70
default "3.14.79" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
- default "3.1.0" if ADK_TARGET_SYSTEM_QEMU_LM32
+ default "4.8.0" if ADK_TARGET_SYSTEM_QEMU_LM32
config ADK_TARGET_LINUX_KERNEL_GIT_TYPE
string
diff --git a/target/linux/patches/b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8/delay.patch b/target/linux/patches/b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8/delay.patch
new file mode 100644
index 000000000..dad7c6af3
--- /dev/null
+++ b/target/linux/patches/b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8/delay.patch
@@ -0,0 +1,12 @@
+diff -Nur linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8.orig/init/main.c linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8/init/main.c
+--- linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8.orig/init/main.c 2019-10-30 11:31:31.000000000 +0100
++++ linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8/init/main.c 2019-10-31 23:59:00.424814394 +0100
+@@ -615,7 +615,7 @@
+ if (late_time_init)
+ late_time_init();
+ sched_clock_init();
+- calibrate_delay();
++ //calibrate_delay();
+ pidmap_init();
+ anon_vma_init();
+ acpi_early_init();
diff --git a/target/linux/patches/b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8/uapi.patch b/target/linux/patches/b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8/uapi.patch
new file mode 100644
index 000000000..9073d950f
--- /dev/null
+++ b/target/linux/patches/b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8/uapi.patch
@@ -0,0 +1,156 @@
+diff -Nur linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8.orig/arch/lm32/include/uapi/asm/byteorder.h linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8/arch/lm32/include/uapi/asm/byteorder.h
+--- linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8.orig/arch/lm32/include/uapi/asm/byteorder.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8/arch/lm32/include/uapi/asm/byteorder.h 2019-10-30 14:32:57.868397215 +0100
+@@ -0,0 +1,16 @@
++#ifndef _LM32_ASM_BYTEORDER_H
++#define _LM32_ASM_BYTEORDER_H
++
++#include <asm/types.h>
++
++#if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__)
++// there is a 64bit data type supported by the processor
++# define __BYTEORDER_HAS_U64__
++
++// so we don't have to implement swab64 in assembler ;)
++# define __SWAB_64_THRU_32__
++#endif
++
++#include <linux/byteorder/big_endian.h>
++
++#endif /* _LM32_BYTEORDER_H */
+diff -Nur linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8.orig/arch/lm32/include/uapi/asm/Kbuild linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8/arch/lm32/include/uapi/asm/Kbuild
+--- linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8.orig/arch/lm32/include/uapi/asm/Kbuild 1970-01-01 01:00:00.000000000 +0100
++++ linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8/arch/lm32/include/uapi/asm/Kbuild 2019-10-30 14:34:14.357298364 +0100
+@@ -0,0 +1,6 @@
++# UAPI Header export list
++include include/uapi/asm-generic/Kbuild.asm
++
++header-y += byteorder.h
++header-y += ptrace.h
++header-y += unistd.h
+diff -Nur linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8.orig/arch/lm32/include/uapi/asm/ptrace.h linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8/arch/lm32/include/uapi/asm/ptrace.h
+--- linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8.orig/arch/lm32/include/uapi/asm/ptrace.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8/arch/lm32/include/uapi/asm/ptrace.h 2019-10-30 14:32:57.888398498 +0100
+@@ -0,0 +1,103 @@
++/*
++ * (C) Copyright 2007
++ * Theobroma Systems <www.theobroma-systems.com>
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#ifndef _ASM_LM32_PTRACE_H
++#define _ASM_LM32_PTRACE_H
++
++#define PT_MODE_KERNEL 1
++#define PT_MODE_USER 0
++
++#ifndef __ASSEMBLY__
++
++#define user_stack_pointer(regs) ((regs)->sp)
++
++typedef unsigned long lm32_reg_t;
++
++struct pt_regs {
++ lm32_reg_t r0;
++ lm32_reg_t r1;
++ lm32_reg_t r2;
++ lm32_reg_t r3;
++ lm32_reg_t r4;
++ lm32_reg_t r5;
++ lm32_reg_t r6;
++ lm32_reg_t r7;
++ lm32_reg_t r8;
++ lm32_reg_t r9;
++ lm32_reg_t r10;
++ lm32_reg_t r11;
++ lm32_reg_t r12;
++ lm32_reg_t r13;
++ lm32_reg_t r14;
++ lm32_reg_t r15;
++ lm32_reg_t r16;
++ lm32_reg_t r17;
++ lm32_reg_t r18;
++ lm32_reg_t r19;
++ lm32_reg_t r20;
++ lm32_reg_t r21;
++ lm32_reg_t r22;
++ lm32_reg_t r23;
++ lm32_reg_t r24;
++ lm32_reg_t r25;
++ lm32_reg_t gp;
++ lm32_reg_t fp;
++ lm32_reg_t sp;
++ lm32_reg_t ra;
++ lm32_reg_t ea;
++ lm32_reg_t ba;
++ unsigned int pt_mode;
++};
++
++#ifdef __KERNEL__
++#define user_mode(regs) ((regs)->pt_mode == PT_MODE_USER)
++
++#define instruction_pointer(regs) ((regs)->ea)
++#define profile_pc(regs) instruction_pointer(regs)
++
++void show_regs(struct pt_regs *);
++
++#else /* !__KERNEL__ */
++
++/* TBD (gdbserver/ptrace) */
++
++#endif /* !__KERNEL__ */
++
++/* FIXME: remove this ? */
++/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
++#define PTRACE_GETREGS 12
++#define PTRACE_SETREGS 13
++
++#define PTRACE_GETFDPIC 31
++
++#define PTRACE_GETFDPIC_EXEC 0
++#define PTRACE_GETFDPIC_INTERP 1
++
++/* for gdb */
++#define PT_TEXT_ADDR 50
++#define PT_TEXT_END_ADDR 51
++#define PT_DATA_ADDR 52
++
++#endif /* !__ASSEMBLY__ */
++
++#endif /* _ASM_LM32_PTRACE_H */
+diff -Nur linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8.orig/arch/lm32/include/uapi/asm/unistd.h linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8/arch/lm32/include/uapi/asm/unistd.h
+--- linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8.orig/arch/lm32/include/uapi/asm/unistd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8/arch/lm32/include/uapi/asm/unistd.h 2019-10-30 14:32:57.884398247 +0100
+@@ -0,0 +1,15 @@
++#if !defined(_ASM_LM32_UNISTD_H) || defined(__SYSCALL)
++#define _ASM_LM32_UNISTD_H
++
++#define __ARCH_WANT_SYSCALL_NO_AT
++#define __ARCH_WANT_SYSCALL_NO_FLAGS
++#define __ARCH_WANT_SYSCALL_OFF_T
++#define __ARCH_WANT_SYSCALL_DEPRECATED
++
++#define __ARCH_WANT_SYS_CLONE
++
++#include <asm-generic/unistd.h>
++
++#undef __NR_mmap
++
++#endif /* _ASM_LM32_UNISTD_H */