diff options
Diffstat (limited to 'target/linux')
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 */ |