You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'exotic-arch-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k
Pull "exotic" arch fixes from Geert Uytterhoeven: "This is a collection of several exotic architecture fixes, and a few other fixes for issues that were detected while doing the former" * 'exotic-arch-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: (35 commits) lib: Move fonts from drivers/video/console/ to lib/fonts/ console/font: Refactor font support code selection logic Revert "staging/solo6x10: depend on CONFIG_FONTS" input: cros_ec_keyb_clear_keyboard() depends on CONFIG_PM_SLEEP score: Wire up asm-generic/xor.h score: Remove unneeded <asm/dma-mapping.h> openrisc: Wire up asm-generic/xor.h h8300/boot: Use POSIX "$((..))" instead of bashism "$[...]" h8300: Mark H83002 and H83048 CPU support broken h8300: Switch h8300 to drivers/Kconfig h8300: Limit timer channel ranges in Kconfig h8300: Wire up asm-generic/xor.h h8300: Fill the system call table using a CALL() macro h8300: Fix <asm/tlb.h> h8300: Hardcode symbol prefixes in asm sources h8300: add missing definition for read_barries_depends() frv: head.S - Remove commented-out initialization code cris: Wire up asm-generic/vga.h parport: disable PC-style parallel port support on cris console: Disable VGA text console support on cris ...
This commit is contained in:
@@ -297,10 +297,10 @@ KAO -->
|
||||
</sect1>
|
||||
<sect1><title>Frame Buffer Fonts</title>
|
||||
<para>
|
||||
Refer to the file drivers/video/console/fonts.c for more information.
|
||||
Refer to the file lib/fonts/fonts.c for more information.
|
||||
</para>
|
||||
<!-- FIXME: Removed for now since no structured comments in source
|
||||
X!Idrivers/video/console/fonts.c
|
||||
X!Ilib/fonts/fonts.c
|
||||
-->
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
@@ -27,7 +27,7 @@ OBJS += misc.o decompress.o
|
||||
ifeq ($(CONFIG_DEBUG_UNCOMPRESS),y)
|
||||
OBJS += debug.o
|
||||
endif
|
||||
FONTC = $(srctree)/drivers/video/console/font_acorn_8x8.c
|
||||
FONTC = $(srctree)/lib/fonts/font_acorn_8x8.c
|
||||
|
||||
# string library code (-Os is enforced to keep it much smaller)
|
||||
OBJS += string.o
|
||||
|
||||
@@ -1060,7 +1060,9 @@ struct platform_device *__init at32_add_device_usart(unsigned int id)
|
||||
|
||||
void __init at32_setup_serial_console(unsigned int usart_id)
|
||||
{
|
||||
#ifdef CONFIG_SERIAL_ATMEL
|
||||
atmel_default_console_device = at32_usarts[usart_id];
|
||||
#endif
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------
|
||||
|
||||
@@ -55,3 +55,4 @@ generic-y += types.h
|
||||
generic-y += ucontext.h
|
||||
generic-y += user.h
|
||||
generic-y += vga.h
|
||||
generic-y += xor.h
|
||||
|
||||
+1
-31
@@ -637,40 +637,10 @@ endchoice
|
||||
|
||||
endmenu
|
||||
|
||||
source "drivers/base/Kconfig"
|
||||
|
||||
# standard linux drivers
|
||||
source "drivers/mtd/Kconfig"
|
||||
|
||||
source "drivers/parport/Kconfig"
|
||||
|
||||
source "drivers/pnp/Kconfig"
|
||||
|
||||
source "drivers/block/Kconfig"
|
||||
|
||||
source "drivers/ide/Kconfig"
|
||||
|
||||
source "drivers/net/Kconfig"
|
||||
|
||||
source "drivers/i2c/Kconfig"
|
||||
|
||||
source "drivers/rtc/Kconfig"
|
||||
|
||||
#
|
||||
# input before char - char/joystick depends on it. As does USB.
|
||||
#
|
||||
source "drivers/input/Kconfig"
|
||||
|
||||
source "drivers/char/Kconfig"
|
||||
source "drivers/Kconfig"
|
||||
|
||||
source "fs/Kconfig"
|
||||
|
||||
source "drivers/usb/Kconfig"
|
||||
|
||||
source "drivers/uwb/Kconfig"
|
||||
|
||||
source "drivers/staging/Kconfig"
|
||||
|
||||
source "arch/cris/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
||||
+265
-603
File diff suppressed because it is too large
Load Diff
@@ -640,8 +640,6 @@ config ETRAX_STREAMCOPROC
|
||||
This option enables a driver for the stream co-processor
|
||||
for cryptographic operations.
|
||||
|
||||
source drivers/mmc/Kconfig
|
||||
|
||||
config ETRAX_MMC_IOP
|
||||
tristate "MMC/SD host driver using IO-processor"
|
||||
depends on ETRAX_ARCH_V32 && MMC
|
||||
@@ -833,9 +831,4 @@ config ETRAX_SPI_MMC_WP_GPIO_PIN
|
||||
The pin to use for the SD/MMC write-protect signal for a memory
|
||||
card. If defined as " " (space), the card is considered writable.
|
||||
|
||||
# Avoid choices causing non-working configs by conditionalizing the inclusion.
|
||||
if ETRAX_SPI_MMC
|
||||
source drivers/spi/Kconfig
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
@@ -5,5 +5,9 @@ header-y += arch-v32/
|
||||
|
||||
generic-y += clkdev.h
|
||||
generic-y += exec.h
|
||||
generic-y += kvm_para.h
|
||||
generic-y += linkage.h
|
||||
generic-y += module.h
|
||||
generic-y += trace_clock.h
|
||||
generic-y += vga.h
|
||||
generic-y += xor.h
|
||||
|
||||
@@ -167,6 +167,9 @@ static inline void outsl(unsigned int port, const void *addr,
|
||||
cris_iops->write_io(port, (void *)addr, 4, count);
|
||||
}
|
||||
|
||||
#define inb_p(port) inb(port)
|
||||
#define outb_p(val, port) outb((val), (port))
|
||||
|
||||
/*
|
||||
* Convert a physical pointer to a virtual kernel pointer for /dev/mem
|
||||
* access
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
#ifndef __ASM_LINKAGE_H
|
||||
#define __ASM_LINKAGE_H
|
||||
|
||||
/* Nothing to see here... */
|
||||
|
||||
#endif
|
||||
@@ -479,11 +479,6 @@ __head_mmu_enabled:
|
||||
|
||||
LEDS 0x000c
|
||||
|
||||
# initialise the processor and the peripherals
|
||||
#call SYMBOL_NAME(processor_init)
|
||||
#call SYMBOL_NAME(unit_init)
|
||||
#LEDS 0x0aff
|
||||
|
||||
sethi.p #0xe5e5,gr3
|
||||
setlo #0xe5e5,gr3
|
||||
or.p gr3,gr0,gr4
|
||||
|
||||
+1
-117
@@ -94,126 +94,10 @@ endmenu
|
||||
|
||||
source "net/Kconfig"
|
||||
|
||||
source "drivers/base/Kconfig"
|
||||
|
||||
source "drivers/mtd/Kconfig"
|
||||
|
||||
source "drivers/block/Kconfig"
|
||||
|
||||
source "drivers/ide/Kconfig"
|
||||
source "drivers/Kconfig"
|
||||
|
||||
source "arch/h8300/Kconfig.ide"
|
||||
|
||||
source "drivers/net/Kconfig"
|
||||
|
||||
#
|
||||
# input - input/joystick depends on it. As does USB.
|
||||
#
|
||||
source "drivers/input/Kconfig"
|
||||
|
||||
menu "Character devices"
|
||||
|
||||
config VT
|
||||
bool "Virtual terminal"
|
||||
---help---
|
||||
If you say Y here, you will get support for terminal devices with
|
||||
display and keyboard devices. These are called "virtual" because you
|
||||
can run several virtual terminals (also called virtual consoles) on
|
||||
one physical terminal. This is rather useful, for example one
|
||||
virtual terminal can collect system messages and warnings, another
|
||||
one can be used for a text-mode user session, and a third could run
|
||||
an X session, all in parallel. Switching between virtual terminals
|
||||
is done with certain key combinations, usually Alt-<function key>.
|
||||
|
||||
The setterm command ("man setterm") can be used to change the
|
||||
properties (such as colors or beeping) of a virtual terminal. The
|
||||
man page console_codes(4) ("man console_codes") contains the special
|
||||
character sequences that can be used to change those properties
|
||||
directly. The fonts used on virtual terminals can be changed with
|
||||
the setfont ("man setfont") command and the key bindings are defined
|
||||
with the loadkeys ("man loadkeys") command.
|
||||
|
||||
You need at least one virtual terminal device in order to make use
|
||||
of your keyboard and monitor. Therefore, only people configuring an
|
||||
embedded system would want to say N here in order to save some
|
||||
memory; the only way to log into such a system is then via a serial
|
||||
or network connection.
|
||||
|
||||
If unsure, say Y, or else you won't be able to do much with your new
|
||||
shiny Linux system :-)
|
||||
|
||||
config VT_CONSOLE
|
||||
bool "Support for console on virtual terminal"
|
||||
depends on VT
|
||||
---help---
|
||||
The system console is the device which receives all kernel messages
|
||||
and warnings and which allows logins in single user mode. If you
|
||||
answer Y here, a virtual terminal (the device used to interact with
|
||||
a physical terminal) can be used as system console. This is the most
|
||||
common mode of operations, so you should say Y here unless you want
|
||||
the kernel messages be output only to a serial port (in which case
|
||||
you should say Y to "Console on serial port", below).
|
||||
|
||||
If you do say Y here, by default the currently visible virtual
|
||||
terminal (/dev/tty0) will be used as system console. You can change
|
||||
that with a kernel command line option such as "console=tty3" which
|
||||
would use the third virtual terminal as system console. (Try "man
|
||||
bootparam" or see the documentation of your boot loader (lilo or
|
||||
loadlin) about how to pass options to the kernel at boot time.)
|
||||
|
||||
If unsure, say Y.
|
||||
|
||||
config HW_CONSOLE
|
||||
bool
|
||||
depends on VT
|
||||
default y
|
||||
|
||||
comment "Unix98 PTY support"
|
||||
|
||||
config UNIX98_PTYS
|
||||
bool "Unix98 PTY support"
|
||||
---help---
|
||||
A pseudo terminal (PTY) is a software device consisting of two
|
||||
halves: a master and a slave. The slave device behaves identical to
|
||||
a physical terminal; the master device is used by a process to
|
||||
read data from and write data to the slave, thereby emulating a
|
||||
terminal. Typical programs for the master side are telnet servers
|
||||
and xterms.
|
||||
|
||||
Linux has traditionally used the BSD-like names /dev/ptyxx for
|
||||
masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
|
||||
has a number of problems. The GNU C library glibc 2.1 and later,
|
||||
however, supports the Unix98 naming standard: in order to acquire a
|
||||
pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
|
||||
terminal is then made available to the process and the pseudo
|
||||
terminal slave can be accessed as /dev/pts/<number>. What was
|
||||
traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
|
||||
|
||||
The entries in /dev/pts/ are created on the fly by a virtual
|
||||
file system; therefore, if you say Y here you should say Y to
|
||||
"/dev/pts file system for Unix98 PTYs" as well.
|
||||
|
||||
If you want to say Y here, you need to have the C library glibc 2.1
|
||||
or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
|
||||
Read the instructions in <file:Documentation/Changes> pertaining to
|
||||
pseudo terminals. It's safe to say N.
|
||||
|
||||
source "drivers/char/pcmcia/Kconfig"
|
||||
|
||||
source "drivers/tty/serial/Kconfig"
|
||||
|
||||
source "drivers/i2c/Kconfig"
|
||||
|
||||
source "drivers/hwmon/Kconfig"
|
||||
|
||||
source "drivers/usb/Kconfig"
|
||||
|
||||
source "drivers/uwb/Kconfig"
|
||||
|
||||
endmenu
|
||||
|
||||
source "drivers/staging/Kconfig"
|
||||
|
||||
source "fs/Kconfig"
|
||||
|
||||
source "arch/h8300/Kconfig.debug"
|
||||
|
||||
@@ -64,6 +64,7 @@ choice
|
||||
|
||||
config H83002
|
||||
bool "H8/3001,3002,3003"
|
||||
depends on BROKEN
|
||||
select CPU_H8300H
|
||||
|
||||
config H83007
|
||||
@@ -72,6 +73,7 @@ config H83007
|
||||
|
||||
config H83048
|
||||
bool "H8/3044,3045,3046,3047,3048,3052"
|
||||
depends on BROKEN
|
||||
select CPU_H8300H
|
||||
|
||||
config H83068
|
||||
@@ -155,10 +157,12 @@ config H8300_TIMER16_CH
|
||||
config H8300_ITU_CH
|
||||
int "ITU channel"
|
||||
depends on H8300_ITU
|
||||
range 0 4
|
||||
|
||||
config H8300_TPU_CH
|
||||
int "TPU channel"
|
||||
depends on H8300_TPU
|
||||
range 0 4
|
||||
|
||||
source "kernel/Kconfig.preempt"
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ OBJECTS = $(obj)/head.o $(obj)/misc.o
|
||||
#
|
||||
CONFIG_MEMORY_START ?= 0x00400000
|
||||
CONFIG_BOOT_LINK_OFFSET ?= 0x00140000
|
||||
IMAGE_OFFSET := $(shell printf "0x%08x" $$[$(CONFIG_MEMORY_START)+$(CONFIG_BOOT_LINK_OFFSET)])
|
||||
IMAGE_OFFSET := $(shell printf "0x%08x" $$(($(CONFIG_MEMORY_START)+$(CONFIG_BOOT_LINK_OFFSET))))
|
||||
|
||||
LDFLAGS_vmlinux := -Ttext $(IMAGE_OFFSET) -estartup $(obj)/vmlinux.lds
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
|
||||
generic-y += clkdev.h
|
||||
generic-y += exec.h
|
||||
generic-y += linkage.h
|
||||
generic-y += mmu.h
|
||||
generic-y += module.h
|
||||
generic-y += trace_clock.h
|
||||
generic-y += xor.h
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
#define wmb() asm volatile ("" : : :"memory")
|
||||
#define set_mb(var, value) do { xchg(&var, value); } while (0)
|
||||
|
||||
#define read_barrier_depends() do { } while (0)
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
#define smp_mb() mb()
|
||||
#define smp_rmb() rmb()
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
#ifndef _H8300_LINKAGE_H
|
||||
#define _H8300_LINKAGE_H
|
||||
|
||||
#undef SYMBOL_NAME_LABEL
|
||||
#define SYMBOL_NAME_LABEL(_name_) _##_name_##:
|
||||
#endif
|
||||
@@ -1,16 +1,3 @@
|
||||
/*
|
||||
include/asm-h8300/tlb.h
|
||||
*/
|
||||
|
||||
#ifndef __H8300_TLB_H__
|
||||
#define __H8300_TLB_H__
|
||||
|
||||
#define tlb_flush(tlb) do { } while(0)
|
||||
|
||||
/*
|
||||
include/asm-h8300/tlb.h
|
||||
*/
|
||||
|
||||
#ifndef __H8300_TLB_H__
|
||||
#define __H8300_TLB_H__
|
||||
|
||||
@@ -19,5 +6,3 @@
|
||||
#include <asm-generic/tlb.h>
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
+59
-59
@@ -87,13 +87,13 @@ INTERRUPTS = 128
|
||||
bne 5f
|
||||
|
||||
/* user mode */
|
||||
mov.l sp,@SYMBOL_NAME(sw_usp)
|
||||
mov.l sp,@_sw_usp
|
||||
mov.l @sp,er0 /* restore saved er0 */
|
||||
orc #0x10,ccr /* switch kernel stack */
|
||||
mov.l @SYMBOL_NAME(sw_ksp),sp
|
||||
mov.l @_sw_ksp,sp
|
||||
sub.l #(LRET-LORIG),sp /* allocate LORIG - LRET */
|
||||
SAVEREGS
|
||||
mov.l @SYMBOL_NAME(sw_usp),er0
|
||||
mov.l @_sw_usp,er0
|
||||
mov.l @(USERRET:16,er0),er1 /* copy the RET addr */
|
||||
mov.l er1,@(LRET-LER3:16,sp)
|
||||
SAVEEXR
|
||||
@@ -128,7 +128,7 @@ INTERRUPTS = 128
|
||||
bne 7f
|
||||
|
||||
orc #0x80,ccr
|
||||
mov.l @SYMBOL_NAME(sw_usp),er0
|
||||
mov.l @_sw_usp,er0
|
||||
mov.l @(LER0-LER1:16,sp),er1 /* restore ER0 */
|
||||
mov.l er1,@er0
|
||||
RESTOREEXR
|
||||
@@ -141,7 +141,7 @@ INTERRUPTS = 128
|
||||
|
||||
mov.l @sp+,er1
|
||||
add.l #(LRET-LER1),sp /* remove LORIG - LRET */
|
||||
mov.l sp,@SYMBOL_NAME(sw_ksp)
|
||||
mov.l sp,@_sw_ksp
|
||||
andc #0xef,ccr /* switch to user mode */
|
||||
mov.l er0,sp
|
||||
bra 8f
|
||||
@@ -155,20 +155,20 @@ INTERRUPTS = 128
|
||||
rte
|
||||
.endm
|
||||
|
||||
.globl SYMBOL_NAME(system_call)
|
||||
.globl SYMBOL_NAME(ret_from_exception)
|
||||
.globl SYMBOL_NAME(ret_from_fork)
|
||||
.globl SYMBOL_NAME(ret_from_kernel_thread)
|
||||
.globl SYMBOL_NAME(ret_from_interrupt)
|
||||
.globl SYMBOL_NAME(interrupt_redirect_table)
|
||||
.globl SYMBOL_NAME(sw_ksp),SYMBOL_NAME(sw_usp)
|
||||
.globl SYMBOL_NAME(resume)
|
||||
.globl SYMBOL_NAME(interrupt_entry)
|
||||
.globl SYMBOL_NAME(trace_break)
|
||||
.globl _system_call
|
||||
.globl _ret_from_exception
|
||||
.globl _ret_from_fork
|
||||
.globl _ret_from_kernel_thread
|
||||
.globl _ret_from_interrupt
|
||||
.globl _interrupt_redirect_table
|
||||
.globl _sw_ksp,_sw_usp
|
||||
.globl _resume
|
||||
.globl _interrupt_entry
|
||||
.globl _trace_break
|
||||
|
||||
#if defined(CONFIG_ROMKERNEL)
|
||||
.section .int_redirect,"ax"
|
||||
SYMBOL_NAME_LABEL(interrupt_redirect_table)
|
||||
_interrupt_redirect_table:
|
||||
#if defined(CONFIG_CPU_H8300H)
|
||||
.rept 7
|
||||
.long 0
|
||||
@@ -178,54 +178,54 @@ SYMBOL_NAME_LABEL(interrupt_redirect_table)
|
||||
.rept 5
|
||||
.long 0
|
||||
.endr
|
||||
jmp @SYMBOL_NAME(trace_break)
|
||||
jmp @_trace_break
|
||||
.long 0
|
||||
#endif
|
||||
|
||||
jsr @SYMBOL_NAME(interrupt_entry) /* NMI */
|
||||
jmp @SYMBOL_NAME(system_call) /* TRAPA #0 (System call) */
|
||||
jsr @_interrupt_entry /* NMI */
|
||||
jmp @_system_call /* TRAPA #0 (System call) */
|
||||
.long 0
|
||||
.long 0
|
||||
jmp @SYMBOL_NAME(trace_break) /* TRAPA #3 (breakpoint) */
|
||||
jmp @_trace_break /* TRAPA #3 (breakpoint) */
|
||||
.rept INTERRUPTS-12
|
||||
jsr @SYMBOL_NAME(interrupt_entry)
|
||||
jsr @_interrupt_entry
|
||||
.endr
|
||||
#endif
|
||||
#if defined(CONFIG_RAMKERNEL)
|
||||
.globl SYMBOL_NAME(interrupt_redirect_table)
|
||||
.globl _interrupt_redirect_table
|
||||
.section .bss
|
||||
SYMBOL_NAME_LABEL(interrupt_redirect_table)
|
||||
_interrupt_redirect_table:
|
||||
.space 4
|
||||
#endif
|
||||
|
||||
.section .text
|
||||
.align 2
|
||||
SYMBOL_NAME_LABEL(interrupt_entry)
|
||||
_interrupt_entry:
|
||||
SAVE_ALL
|
||||
mov.l sp,er0
|
||||
add.l #LVEC,er0
|
||||
btst #4,r1l
|
||||
bne 1f
|
||||
/* user LVEC */
|
||||
mov.l @SYMBOL_NAME(sw_usp),er0
|
||||
mov.l @_sw_usp,er0
|
||||
adds #4,er0
|
||||
1:
|
||||
mov.l @er0,er0 /* LVEC address */
|
||||
#if defined(CONFIG_ROMKERNEL)
|
||||
sub.l #SYMBOL_NAME(interrupt_redirect_table),er0
|
||||
sub.l #_interrupt_redirect_table,er0
|
||||
#endif
|
||||
#if defined(CONFIG_RAMKERNEL)
|
||||
mov.l @SYMBOL_NAME(interrupt_redirect_table),er1
|
||||
mov.l @_interrupt_redirect_table,er1
|
||||
sub.l er1,er0
|
||||
#endif
|
||||
SHLR2 er0
|
||||
dec.l #1,er0
|
||||
mov.l sp,er1
|
||||
subs #4,er1 /* adjust ret_pc */
|
||||
jsr @SYMBOL_NAME(do_IRQ)
|
||||
jmp @SYMBOL_NAME(ret_from_interrupt)
|
||||
jsr @_do_IRQ
|
||||
jmp @_ret_from_interrupt
|
||||
|
||||
SYMBOL_NAME_LABEL(system_call)
|
||||
_system_call:
|
||||
subs #4,sp /* dummy LVEC */
|
||||
SAVE_ALL
|
||||
andc #0x7f,ccr
|
||||
@@ -233,21 +233,21 @@ SYMBOL_NAME_LABEL(system_call)
|
||||
|
||||
/* save top of frame */
|
||||
mov.l sp,er0
|
||||
jsr @SYMBOL_NAME(set_esp0)
|
||||
jsr @_set_esp0
|
||||
mov.l sp,er2
|
||||
and.w #0xe000,r2
|
||||
mov.b @((TI_FLAGS+3-(TIF_SYSCALL_TRACE >> 3)):16,er2),r2l
|
||||
btst #(TIF_SYSCALL_TRACE & 7),r2l
|
||||
beq 1f
|
||||
jsr @SYMBOL_NAME(do_syscall_trace)
|
||||
jsr @_do_syscall_trace
|
||||
1:
|
||||
cmp.l #NR_syscalls,er4
|
||||
bcc badsys
|
||||
SHLL2 er4
|
||||
mov.l #SYMBOL_NAME(sys_call_table),er0
|
||||
mov.l #_sys_call_table,er0
|
||||
add.l er4,er0
|
||||
mov.l @er0,er4
|
||||
beq SYMBOL_NAME(ret_from_exception):16
|
||||
beq _ret_from_exception:16
|
||||
mov.l @(LER1:16,sp),er0
|
||||
mov.l @(LER2:16,sp),er1
|
||||
mov.l @(LER3:16,sp),er2
|
||||
@@ -258,10 +258,10 @@ SYMBOL_NAME_LABEL(system_call)
|
||||
mov.b @((TI_FLAGS+3-(TIF_SYSCALL_TRACE >> 3)):16,er2),r2l
|
||||
btst #(TIF_SYSCALL_TRACE & 7),r2l
|
||||
beq 2f
|
||||
jsr @SYMBOL_NAME(do_syscall_trace)
|
||||
jsr @_do_syscall_trace
|
||||
2:
|
||||
#if defined(CONFIG_SYSCALL_PRINT)
|
||||
jsr @SYMBOL_NAME(syscall_print)
|
||||
jsr @_syscall_print
|
||||
#endif
|
||||
orc #0x80,ccr
|
||||
bra resume_userspace
|
||||
@@ -275,11 +275,11 @@ badsys:
|
||||
#define resume_kernel restore_all
|
||||
#endif
|
||||
|
||||
SYMBOL_NAME_LABEL(ret_from_exception)
|
||||
_ret_from_exception:
|
||||
#if defined(CONFIG_PREEMPT)
|
||||
orc #0x80,ccr
|
||||
#endif
|
||||
SYMBOL_NAME_LABEL(ret_from_interrupt)
|
||||
_ret_from_interrupt:
|
||||
mov.b @(LCCR+1:16,sp),r0l
|
||||
btst #4,r0l
|
||||
bne resume_kernel:8 /* return from kernel */
|
||||
@@ -296,12 +296,12 @@ work_pending:
|
||||
/* work notifysig */
|
||||
mov.l sp,er0
|
||||
subs #4,er0 /* er0: pt_regs */
|
||||
jsr @SYMBOL_NAME(do_notify_resume)
|
||||
jsr @_do_notify_resume
|
||||
bra restore_all:8
|
||||
work_resched:
|
||||
mov.l sp,er0
|
||||
jsr @SYMBOL_NAME(set_esp0)
|
||||
jsr @SYMBOL_NAME(schedule)
|
||||
jsr @_set_esp0
|
||||
jsr @_schedule
|
||||
bra resume_userspace:8
|
||||
restore_all:
|
||||
RESTORE_ALL /* Does RTE */
|
||||
@@ -320,26 +320,26 @@ need_resched:
|
||||
mov.l er0,@(TI_PRE_COUNT:16,er4)
|
||||
andc #0x7f,ccr
|
||||
mov.l sp,er0
|
||||
jsr @SYMBOL_NAME(set_esp0)
|
||||
jsr @SYMBOL_NAME(schedule)
|
||||
jsr @_set_esp0
|
||||
jsr @_schedule
|
||||
orc #0x80,ccr
|
||||
bra need_resched:8
|
||||
#endif
|
||||
|
||||
SYMBOL_NAME_LABEL(ret_from_fork)
|
||||
_ret_from_fork:
|
||||
mov.l er2,er0
|
||||
jsr @SYMBOL_NAME(schedule_tail)
|
||||
jmp @SYMBOL_NAME(ret_from_exception)
|
||||
jsr @_schedule_tail
|
||||
jmp @_ret_from_exception
|
||||
|
||||
SYMBOL_NAME_LABEL(ret_from_kernel_thread)
|
||||
_ret_from_kernel_thread:
|
||||
mov.l er2,er0
|
||||
jsr @SYMBOL_NAME(schedule_tail)
|
||||
jsr @_schedule_tail
|
||||
mov.l @(LER4:16,sp),er0
|
||||
mov.l @(LER5:16,sp),er1
|
||||
jsr @er1
|
||||
jmp @SYMBOL_NAME(ret_from_exception)
|
||||
jmp @_ret_from_exception
|
||||
|
||||
SYMBOL_NAME_LABEL(resume)
|
||||
_resume:
|
||||
/*
|
||||
* Beware - when entering resume, offset of tss is in d1,
|
||||
* prev (the current task) is in a0, next (the new task)
|
||||
@@ -355,7 +355,7 @@ SYMBOL_NAME_LABEL(resume)
|
||||
|
||||
/* disable interrupts */
|
||||
orc #0x80,ccr
|
||||
mov.l @SYMBOL_NAME(sw_usp),er3
|
||||
mov.l @_sw_usp,er3
|
||||
mov.l er3,@(THREAD_USP:16,er0)
|
||||
mov.l sp,@(THREAD_KSP:16,er0)
|
||||
|
||||
@@ -363,7 +363,7 @@ SYMBOL_NAME_LABEL(resume)
|
||||
/* FIXME: what did we hack out of here, this does nothing! */
|
||||
|
||||
mov.l @(THREAD_USP:16,er1),er0
|
||||
mov.l er0,@SYMBOL_NAME(sw_usp)
|
||||
mov.l er0,@_sw_usp
|
||||
mov.l @(THREAD_KSP:16,er1),sp
|
||||
|
||||
/* restore status register */
|
||||
@@ -372,15 +372,15 @@ SYMBOL_NAME_LABEL(resume)
|
||||
ldc r3l,ccr
|
||||
rts
|
||||
|
||||
SYMBOL_NAME_LABEL(trace_break)
|
||||
_trace_break:
|
||||
subs #4,sp
|
||||
SAVE_ALL
|
||||
sub.l er1,er1
|
||||
dec.l #1,er1
|
||||
mov.l er1,@(LORIG,sp)
|
||||
mov.l sp,er0
|
||||
jsr @SYMBOL_NAME(set_esp0)
|
||||
mov.l @SYMBOL_NAME(sw_usp),er0
|
||||
jsr @_set_esp0
|
||||
mov.l @_sw_usp,er0
|
||||
mov.l @er0,er1
|
||||
mov.w @(-2:16,er1),r2
|
||||
cmp.w #0x5730,r2
|
||||
@@ -390,13 +390,13 @@ SYMBOL_NAME_LABEL(trace_break)
|
||||
1:
|
||||
and.w #0xff,e1
|
||||
mov.l er1,er0
|
||||
jsr @SYMBOL_NAME(trace_trap)
|
||||
jmp @SYMBOL_NAME(ret_from_exception)
|
||||
jsr @_trace_trap
|
||||
jmp @_ret_from_exception
|
||||
|
||||
.section .bss
|
||||
SYMBOL_NAME_LABEL(sw_ksp)
|
||||
_sw_ksp:
|
||||
.space 4
|
||||
SYMBOL_NAME_LABEL(sw_usp)
|
||||
_sw_usp:
|
||||
.space 4
|
||||
|
||||
.end
|
||||
|
||||
+324
-322
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user