From b5cc48914529152a5f546c74a6802b17284ed7a1 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Mon, 11 Feb 2013 10:34:57 +0100 Subject: avr32: atmel_default_console_device depends on CONFIG_SERIAL_ATMEL allnoconfig: arch/avr32/mach-at32ap/built-in.o: In function `at32_select_gpio': (.init.text+0x548): undefined reference to `atmel_default_console_device' Signed-off-by: Geert Uytterhoeven Acked-by: Hans-Christian Egtvedt --- arch/avr32/mach-at32ap/at32ap700x.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'arch') diff --git a/arch/avr32/mach-at32ap/at32ap700x.c b/arch/avr32/mach-at32ap/at32ap700x.c index 7c2f6685bf43..7f8759a8a92a 100644 --- a/arch/avr32/mach-at32ap/at32ap700x.c +++ b/arch/avr32/mach-at32ap/at32ap700x.c @@ -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 } /* -------------------------------------------------------------------- -- cgit v1.2.3 From 7e973d79df9da55796693ebe4273daf64a8da4f1 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Tue, 14 May 2013 09:25:45 +0200 Subject: c6x: Wire up asm-generic/xor.h Signed-off-by: Geert Uytterhoeven Acked-by: Mark Salter Tested-by: Mark Salter --- arch/c6x/include/asm/Kbuild | 1 + 1 file changed, 1 insertion(+) (limited to 'arch') diff --git a/arch/c6x/include/asm/Kbuild b/arch/c6x/include/asm/Kbuild index 4258b088aa93..e49f918531ad 100644 --- a/arch/c6x/include/asm/Kbuild +++ b/arch/c6x/include/asm/Kbuild @@ -55,3 +55,4 @@ generic-y += types.h generic-y += ucontext.h generic-y += user.h generic-y += vga.h +generic-y += xor.h -- cgit v1.2.3 From 7fc6a8ba23dc42428798222e183f89098396c342 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Mon, 11 Feb 2013 11:46:43 +0100 Subject: cris/kgdb: Properly split long lines in asm arch/cris/arch-v10/kernel/kgdb.c:1273:6: warning: missing terminating " character [enabled by default] arch/cris/arch-v10/kernel/kgdb.c:1359:1: warning: missing terminating " character [enabled by default] arch/cris/arch-v10/kernel/kgdb.c:1370:6: warning: missing terminating " character [enabled by default] arch/cris/arch-v10/kernel/kgdb.c:1457:1: warning: missing terminating " character [enabled by default] arch/cris/arch-v10/kernel/kgdb.c:1273:6: warning: missing terminating " character [enabled by default] arch/cris/arch-v10/kernel/kgdb.c:1273:1: error: missing terminating " character arch/cris/arch-v10/kernel/kgdb.c:1274:3: error: expected string literal before '.' token arch/cris/arch-v10/kernel/kgdb.c:1359:1: warning: missing terminating " character [enabled by default] arch/cris/arch-v10/kernel/kgdb.c:1359:1: error: missing terminating " character arch/cris/arch-v10/kernel/kgdb.c:1370:6: warning: missing terminating " character [enabled by default] arch/cris/arch-v10/kernel/kgdb.c:1370:1: error: missing terminating " character arch/cris/arch-v10/kernel/kgdb.c:1457:1: warning: missing terminating " character [enabled by default] arch/cris/arch-v10/kernel/kgdb.c:1457:1: error: missing terminating " character Signed-off-by: Geert Uytterhoeven --- arch/cris/arch-v10/kernel/kgdb.c | 350 +++++++++++++++++++-------------------- 1 file changed, 175 insertions(+), 175 deletions(-) (limited to 'arch') diff --git a/arch/cris/arch-v10/kernel/kgdb.c b/arch/cris/arch-v10/kernel/kgdb.c index 37e6d2c50b76..0a420336e5d8 100644 --- a/arch/cris/arch-v10/kernel/kgdb.c +++ b/arch/cris/arch-v10/kernel/kgdb.c @@ -1270,93 +1270,93 @@ kill_restart () void kgdb_handle_breakpoint(void); -asm (" - .global kgdb_handle_breakpoint -kgdb_handle_breakpoint: -;; -;; Response to the break-instruction -;; -;; Create a register image of the caller -;; - move $dccr,[reg+0x5E] ; Save the flags in DCCR before disable interrupts - di ; Disable interrupts - move.d $r0,[reg] ; Save R0 - move.d $r1,[reg+0x04] ; Save R1 - move.d $r2,[reg+0x08] ; Save R2 - move.d $r3,[reg+0x0C] ; Save R3 - move.d $r4,[reg+0x10] ; Save R4 - move.d $r5,[reg+0x14] ; Save R5 - move.d $r6,[reg+0x18] ; Save R6 - move.d $r7,[reg+0x1C] ; Save R7 - move.d $r8,[reg+0x20] ; Save R8 - move.d $r9,[reg+0x24] ; Save R9 - move.d $r10,[reg+0x28] ; Save R10 - move.d $r11,[reg+0x2C] ; Save R11 - move.d $r12,[reg+0x30] ; Save R12 - move.d $r13,[reg+0x34] ; Save R13 - move.d $sp,[reg+0x38] ; Save SP (R14) -;; Due to the old assembler-versions BRP might not be recognized - .word 0xE670 ; move brp,$r0 - subq 2,$r0 ; Set to address of previous instruction. - move.d $r0,[reg+0x3c] ; Save the address in PC (R15) - clear.b [reg+0x40] ; Clear P0 - move $vr,[reg+0x41] ; Save special register P1 - clear.w [reg+0x42] ; Clear P4 - move $ccr,[reg+0x44] ; Save special register CCR - move $mof,[reg+0x46] ; P7 - clear.d [reg+0x4A] ; Clear P8 - move $ibr,[reg+0x4E] ; P9, - move $irp,[reg+0x52] ; P10, - move $srp,[reg+0x56] ; P11, - move $dtp0,[reg+0x5A] ; P12, register BAR, assembler might not know BAR - ; P13, register DCCR already saved -;; Due to the old assembler-versions BRP might not be recognized - .word 0xE670 ; move brp,r0 -;; Static (compiled) breakpoints must return to the next instruction in order -;; to avoid infinite loops. Dynamic (gdb-invoked) must restore the instruction -;; in order to execute it when execution is continued. - test.b [is_dyn_brkp] ; Is this a dynamic breakpoint? - beq is_static ; No, a static breakpoint - nop - subq 2,$r0 ; rerun the instruction the break replaced -is_static: - moveq 1,$r1 - move.b $r1,[is_dyn_brkp] ; Set the state variable to dynamic breakpoint - move.d $r0,[reg+0x62] ; Save the return address in BRP - move $usp,[reg+0x66] ; USP -;; -;; Handle the communication -;; - move.d internal_stack+1020,$sp ; Use the internal stack which grows upward - moveq 5,$r10 ; SIGTRAP - jsr handle_exception ; Interactive routine -;; -;; Return to the caller -;; - move.d [reg],$r0 ; Restore R0 - move.d [reg+0x04],$r1 ; Restore R1 - move.d [reg+0x08],$r2 ; Restore R2 - move.d [reg+0x0C],$r3 ; Restore R3 - move.d [reg+0x10],$r4 ; Restore R4 - move.d [reg+0x14],$r5 ; Restore R5 - move.d [reg+0x18],$r6 ; Restore R6 - move.d [reg+0x1C],$r7 ; Restore R7 - move.d [reg+0x20],$r8 ; Restore R8 - move.d [reg+0x24],$r9 ; Restore R9 - move.d [reg+0x28],$r10 ; Restore R10 - move.d [reg+0x2C],$r11 ; Restore R11 - move.d [reg+0x30],$r12 ; Restore R12 - move.d [reg+0x34],$r13 ; Restore R13 -;; -;; FIXME: Which registers should be restored? -;; - move.d [reg+0x38],$sp ; Restore SP (R14) - move [reg+0x56],$srp ; Restore the subroutine return pointer. - move [reg+0x5E],$dccr ; Restore DCCR - move [reg+0x66],$usp ; Restore USP - jump [reg+0x62] ; A jump to the content in register BRP works. - nop ; -"); +asm ("\n" +" .global kgdb_handle_breakpoint\n" +"kgdb_handle_breakpoint:\n" +";;\n" +";; Response to the break-instruction\n" +";;\n" +";; Create a register image of the caller\n" +";;\n" +" move $dccr,[reg+0x5E] ; Save the flags in DCCR before disable interrupts\n" +" di ; Disable interrupts\n" +" move.d $r0,[reg] ; Save R0\n" +" move.d $r1,[reg+0x04] ; Save R1\n" +" move.d $r2,[reg+0x08] ; Save R2\n" +" move.d $r3,[reg+0x0C] ; Save R3\n" +" move.d $r4,[reg+0x10] ; Save R4\n" +" move.d $r5,[reg+0x14] ; Save R5\n" +" move.d $r6,[reg+0x18] ; Save R6\n" +" move.d $r7,[reg+0x1C] ; Save R7\n" +" move.d $r8,[reg+0x20] ; Save R8\n" +" move.d $r9,[reg+0x24] ; Save R9\n" +" move.d $r10,[reg+0x28] ; Save R10\n" +" move.d $r11,[reg+0x2C] ; Save R11\n" +" move.d $r12,[reg+0x30] ; Save R12\n" +" move.d $r13,[reg+0x34] ; Save R13\n" +" move.d $sp,[reg+0x38] ; Save SP (R14)\n" +";; Due to the old assembler-versions BRP might not be recognized\n" +" .word 0xE670 ; move brp,$r0\n" +" subq 2,$r0 ; Set to address of previous instruction.\n" +" move.d $r0,[reg+0x3c] ; Save the address in PC (R15)\n" +" clear.b [reg+0x40] ; Clear P0\n" +" move $vr,[reg+0x41] ; Save special register P1\n" +" clear.w [reg+0x42] ; Clear P4\n" +" move $ccr,[reg+0x44] ; Save special register CCR\n" +" move $mof,[reg+0x46] ; P7\n" +" clear.d [reg+0x4A] ; Clear P8\n" +" move $ibr,[reg+0x4E] ; P9,\n" +" move $irp,[reg+0x52] ; P10,\n" +" move $srp,[reg+0x56] ; P11,\n" +" move $dtp0,[reg+0x5A] ; P12, register BAR, assembler might not know BAR\n" +" ; P13, register DCCR already saved\n" +";; Due to the old assembler-versions BRP might not be recognized\n" +" .word 0xE670 ; move brp,r0\n" +";; Static (compiled) breakpoints must return to the next instruction in order\n" +";; to avoid infinite loops. Dynamic (gdb-invoked) must restore the instruction\n" +";; in order to execute it when execution is continued.\n" +" test.b [is_dyn_brkp] ; Is this a dynamic breakpoint?\n" +" beq is_static ; No, a static breakpoint\n" +" nop\n" +" subq 2,$r0 ; rerun the instruction the break replaced\n" +"is_static:\n" +" moveq 1,$r1\n" +" move.b $r1,[is_dyn_brkp] ; Set the state variable to dynamic breakpoint\n" +" move.d $r0,[reg+0x62] ; Save the return address in BRP\n" +" move $usp,[reg+0x66] ; USP\n" +";;\n" +";; Handle the communication\n" +";;\n" +" move.d internal_stack+1020,$sp ; Use the internal stack which grows upward\n" +" moveq 5,$r10 ; SIGTRAP\n" +" jsr handle_exception ; Interactive routine\n" +";;\n" +";; Return to the caller\n" +";;\n" +" move.d [reg],$r0 ; Restore R0\n" +" move.d [reg+0x04],$r1 ; Restore R1\n" +" move.d [reg+0x08],$r2 ; Restore R2\n" +" move.d [reg+0x0C],$r3 ; Restore R3\n" +" move.d [reg+0x10],$r4 ; Restore R4\n" +" move.d [reg+0x14],$r5 ; Restore R5\n" +" move.d [reg+0x18],$r6 ; Restore R6\n" +" move.d [reg+0x1C],$r7 ; Restore R7\n" +" move.d [reg+0x20],$r8 ; Restore R8\n" +" move.d [reg+0x24],$r9 ; Restore R9\n" +" move.d [reg+0x28],$r10 ; Restore R10\n" +" move.d [reg+0x2C],$r11 ; Restore R11\n" +" move.d [reg+0x30],$r12 ; Restore R12\n" +" move.d [reg+0x34],$r13 ; Restore R13\n" +";;\n" +";; FIXME: Which registers should be restored?\n" +";;\n" +" move.d [reg+0x38],$sp ; Restore SP (R14)\n" +" move [reg+0x56],$srp ; Restore the subroutine return pointer.\n" +" move [reg+0x5E],$dccr ; Restore DCCR\n" +" move [reg+0x66],$usp ; Restore USP\n" +" jump [reg+0x62] ; A jump to the content in register BRP works.\n" +" nop ;\n" +"\n"); /* The hook for an interrupt generated by GDB. An internal stack is used by the stub. The register image of the caller is stored in the structure @@ -1367,94 +1367,94 @@ is_static: void kgdb_handle_serial(void); -asm (" - .global kgdb_handle_serial -kgdb_handle_serial: -;; -;; Response to a serial interrupt -;; - - move $dccr,[reg+0x5E] ; Save the flags in DCCR - di ; Disable interrupts - move.d $r0,[reg] ; Save R0 - move.d $r1,[reg+0x04] ; Save R1 - move.d $r2,[reg+0x08] ; Save R2 - move.d $r3,[reg+0x0C] ; Save R3 - move.d $r4,[reg+0x10] ; Save R4 - move.d $r5,[reg+0x14] ; Save R5 - move.d $r6,[reg+0x18] ; Save R6 - move.d $r7,[reg+0x1C] ; Save R7 - move.d $r8,[reg+0x20] ; Save R8 - move.d $r9,[reg+0x24] ; Save R9 - move.d $r10,[reg+0x28] ; Save R10 - move.d $r11,[reg+0x2C] ; Save R11 - move.d $r12,[reg+0x30] ; Save R12 - move.d $r13,[reg+0x34] ; Save R13 - move.d $sp,[reg+0x38] ; Save SP (R14) - move $irp,[reg+0x3c] ; Save the address in PC (R15) - clear.b [reg+0x40] ; Clear P0 - move $vr,[reg+0x41] ; Save special register P1, - clear.w [reg+0x42] ; Clear P4 - move $ccr,[reg+0x44] ; Save special register CCR - move $mof,[reg+0x46] ; P7 - clear.d [reg+0x4A] ; Clear P8 - move $ibr,[reg+0x4E] ; P9, - move $irp,[reg+0x52] ; P10, - move $srp,[reg+0x56] ; P11, - move $dtp0,[reg+0x5A] ; P12, register BAR, assembler might not know BAR - ; P13, register DCCR already saved -;; Due to the old assembler-versions BRP might not be recognized - .word 0xE670 ; move brp,r0 - move.d $r0,[reg+0x62] ; Save the return address in BRP - move $usp,[reg+0x66] ; USP - -;; get the serial character (from debugport.c) and check if it is a ctrl-c - - jsr getDebugChar - cmp.b 3, $r10 - bne goback - nop - - move.d [reg+0x5E], $r10 ; Get DCCR - btstq 8, $r10 ; Test the U-flag. - bmi goback - nop - -;; -;; Handle the communication -;; - move.d internal_stack+1020,$sp ; Use the internal stack - moveq 2,$r10 ; SIGINT - jsr handle_exception ; Interactive routine - -goback: -;; -;; Return to the caller -;; - move.d [reg],$r0 ; Restore R0 - move.d [reg+0x04],$r1 ; Restore R1 - move.d [reg+0x08],$r2 ; Restore R2 - move.d [reg+0x0C],$r3 ; Restore R3 - move.d [reg+0x10],$r4 ; Restore R4 - move.d [reg+0x14],$r5 ; Restore R5 - move.d [reg+0x18],$r6 ; Restore R6 - move.d [reg+0x1C],$r7 ; Restore R7 - move.d [reg+0x20],$r8 ; Restore R8 - move.d [reg+0x24],$r9 ; Restore R9 - move.d [reg+0x28],$r10 ; Restore R10 - move.d [reg+0x2C],$r11 ; Restore R11 - move.d [reg+0x30],$r12 ; Restore R12 - move.d [reg+0x34],$r13 ; Restore R13 -;; -;; FIXME: Which registers should be restored? -;; - move.d [reg+0x38],$sp ; Restore SP (R14) - move [reg+0x56],$srp ; Restore the subroutine return pointer. - move [reg+0x5E],$dccr ; Restore DCCR - move [reg+0x66],$usp ; Restore USP - reti ; Return from the interrupt routine - nop -"); +asm ("\n" +" .global kgdb_handle_serial\n" +"kgdb_handle_serial:\n" +";;\n" +";; Response to a serial interrupt\n" +";;\n" +"\n" +" move $dccr,[reg+0x5E] ; Save the flags in DCCR\n" +" di ; Disable interrupts\n" +" move.d $r0,[reg] ; Save R0\n" +" move.d $r1,[reg+0x04] ; Save R1\n" +" move.d $r2,[reg+0x08] ; Save R2\n" +" move.d $r3,[reg+0x0C] ; Save R3\n" +" move.d $r4,[reg+0x10] ; Save R4\n" +" move.d $r5,[reg+0x14] ; Save R5\n" +" move.d $r6,[reg+0x18] ; Save R6\n" +" move.d $r7,[reg+0x1C] ; Save R7\n" +" move.d $r8,[reg+0x20] ; Save R8\n" +" move.d $r9,[reg+0x24] ; Save R9\n" +" move.d $r10,[reg+0x28] ; Save R10\n" +" move.d $r11,[reg+0x2C] ; Save R11\n" +" move.d $r12,[reg+0x30] ; Save R12\n" +" move.d $r13,[reg+0x34] ; Save R13\n" +" move.d $sp,[reg+0x38] ; Save SP (R14)\n" +" move $irp,[reg+0x3c] ; Save the address in PC (R15)\n" +" clear.b [reg+0x40] ; Clear P0\n" +" move $vr,[reg+0x41] ; Save special register P1,\n" +" clear.w [reg+0x42] ; Clear P4\n" +" move $ccr,[reg+0x44] ; Save special register CCR\n" +" move $mof,[reg+0x46] ; P7\n" +" clear.d [reg+0x4A] ; Clear P8\n" +" move $ibr,[reg+0x4E] ; P9,\n" +" move $irp,[reg+0x52] ; P10,\n" +" move $srp,[reg+0x56] ; P11,\n" +" move $dtp0,[reg+0x5A] ; P12, register BAR, assembler might not know BAR\n" +" ; P13, register DCCR already saved\n" +";; Due to the old assembler-versions BRP might not be recognized\n" +" .word 0xE670 ; move brp,r0\n" +" move.d $r0,[reg+0x62] ; Save the return address in BRP\n" +" move $usp,[reg+0x66] ; USP\n" +"\n" +";; get the serial character (from debugport.c) and check if it is a ctrl-c\n" +"\n" +" jsr getDebugChar\n" +" cmp.b 3, $r10\n" +" bne goback\n" +" nop\n" +"\n" +" move.d [reg+0x5E], $r10 ; Get DCCR\n" +" btstq 8, $r10 ; Test the U-flag.\n" +" bmi goback\n" +" nop\n" +"\n" +";;\n" +";; Handle the communication\n" +";;\n" +" move.d internal_stack+1020,$sp ; Use the internal stack\n" +" moveq 2,$r10 ; SIGINT\n" +" jsr handle_exception ; Interactive routine\n" +"\n" +"goback:\n" +";;\n" +";; Return to the caller\n" +";;\n" +" move.d [reg],$r0 ; Restore R0\n" +" move.d [reg+0x04],$r1 ; Restore R1\n" +" move.d [reg+0x08],$r2 ; Restore R2\n" +" move.d [reg+0x0C],$r3 ; Restore R3\n" +" move.d [reg+0x10],$r4 ; Restore R4\n" +" move.d [reg+0x14],$r5 ; Restore R5\n" +" move.d [reg+0x18],$r6 ; Restore R6\n" +" move.d [reg+0x1C],$r7 ; Restore R7\n" +" move.d [reg+0x20],$r8 ; Restore R8\n" +" move.d [reg+0x24],$r9 ; Restore R9\n" +" move.d [reg+0x28],$r10 ; Restore R10\n" +" move.d [reg+0x2C],$r11 ; Restore R11\n" +" move.d [reg+0x30],$r12 ; Restore R12\n" +" move.d [reg+0x34],$r13 ; Restore R13\n" +";;\n" +";; FIXME: Which registers should be restored?\n" +";;\n" +" move.d [reg+0x38],$sp ; Restore SP (R14)\n" +" move [reg+0x56],$srp ; Restore the subroutine return pointer.\n" +" move [reg+0x5E],$dccr ; Restore DCCR\n" +" move [reg+0x66],$usp ; Restore USP\n" +" reti ; Return from the interrupt routine\n" +" nop\n" +"\n"); /* Use this static breakpoint in the start-up only. */ -- cgit v1.2.3 From 4bb77a9dface5f3b8ee97f2857dc693bbc94120a Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Mon, 11 Feb 2013 20:28:17 +0100 Subject: cris/kgdb: Remove unused static int do_printk Signed-off-by: Geert Uytterhoeven --- arch/cris/arch-v10/kernel/kgdb.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'arch') diff --git a/arch/cris/arch-v10/kernel/kgdb.c b/arch/cris/arch-v10/kernel/kgdb.c index 0a420336e5d8..6b64567e63ed 100644 --- a/arch/cris/arch-v10/kernel/kgdb.c +++ b/arch/cris/arch-v10/kernel/kgdb.c @@ -676,8 +676,6 @@ hex (char ch) Put the result in buf, and return a pointer to the last character in buf (null). */ -static int do_printk = 0; - static char * mem2hex(char *buf, unsigned char *mem, int count) { -- cgit v1.2.3 From 4bf01dda083bd3a0d2e8e6e6287a42355852b6cb Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Mon, 11 Feb 2013 20:37:19 +0100 Subject: cris/kgdb: Kill forward declarations for static functions Move some functions around and kill forward declarations for static functions. This fixes: arch/cris/arch-v10/kernel/kgdb.c:255:13: warning: 'copy_registers_from_stack' declared 'static' but never defined [-Wunused-function] arch/cris/arch-v10/kernel/kgdb.c:259:13: warning: 'copy_registers_to_stack' declared 'static' but never defined [-Wunused-function] arch/cris/arch-v10/kernel/kgdb.c:267:12: warning: 'write_stack_register' declared 'static' but never defined [-Wunused-function] Signed-off-by: Geert Uytterhoeven --- arch/cris/arch-v10/kernel/kgdb.c | 406 ++++++++++++++++----------------------- 1 file changed, 165 insertions(+), 241 deletions(-) (limited to 'arch') diff --git a/arch/cris/arch-v10/kernel/kgdb.c b/arch/cris/arch-v10/kernel/kgdb.c index 6b64567e63ed..3c852b3141c6 100644 --- a/arch/cris/arch-v10/kernel/kgdb.c +++ b/arch/cris/arch-v10/kernel/kgdb.c @@ -230,46 +230,6 @@ struct register_image unsigned int usp; /* 0x66 User mode stack pointer */ } registers; -/************** Prototypes for local library functions ***********************/ - -/* Copy of strcpy from libc. */ -static char *gdb_cris_strcpy (char *s1, const char *s2); - -/* Copy of strlen from libc. */ -static int gdb_cris_strlen (const char *s); - -/* Copy of memchr from libc. */ -static void *gdb_cris_memchr (const void *s, int c, int n); - -/* Copy of strtol from libc. Does only support base 16. */ -static int gdb_cris_strtol (const char *s, char **endptr, int base); - -/********************** Prototypes for local functions. **********************/ -/* Copy the content of a register image into another. The size n is - the size of the register image. Due to struct assignment generation of - memcpy in libc. */ -static void copy_registers (registers *dptr, registers *sptr, int n); - -/* Copy the stored registers from the stack. Put the register contents - of thread thread_id in the struct reg. */ -static void copy_registers_from_stack (int thread_id, registers *reg); - -/* Copy the registers to the stack. Put the register contents of thread - thread_id from struct reg to the stack. */ -static void copy_registers_to_stack (int thread_id, registers *reg); - -/* Write a value to a specified register regno in the register image - of the current thread. */ -static int write_register (int regno, char *val); - -/* Write a value to a specified register in the stack of a thread other - than the current thread. */ -static int write_stack_register(int thread_id, int regno, char *valptr); - -/* Read a value from a specified register in the register image. Returns the - status of the read operation. The register value is returned in valptr. */ -static int read_register (char regno, unsigned int *valptr); - /* Serial port, reads one character. ETRAX 100 specific. from debugport.c */ int getDebugChar (void); @@ -278,42 +238,6 @@ void putDebugChar (int val); void enableDebugIRQ (void); -/* Returns the integer equivalent of a hexadecimal character. */ -static int hex (char ch); - -/* Convert the memory, pointed to by mem into hexadecimal representation. - Put the result in buf, and return a pointer to the last character - in buf (null). */ -static char *mem2hex (char *buf, unsigned char *mem, int count); - -/* Convert the array, in hexadecimal representation, pointed to by buf into - binary representation. Put the result in mem, and return a pointer to - the character after the last byte written. */ -static unsigned char *hex2mem (unsigned char *mem, char *buf, int count); - -/* Put the content of the array, in binary representation, pointed to by buf - into memory pointed to by mem, and return a pointer to - the character after the last byte written. */ -static unsigned char *bin2mem (unsigned char *mem, unsigned char *buf, int count); - -/* Await the sequence $# and store in the array buffer - returned. */ -static void getpacket (char *buffer); - -/* Send $# from the in the array buffer. */ -static void putpacket (char *buffer); - -/* Build and send a response packet in order to inform the host the - stub is stopped. */ -static void stub_is_stopped (int sigval); - -/* All expected commands are sent from remote.c. Send a response according - to the description in remote.c. */ -static void handle_exception (int sigval); - -/* Performs a complete re-start from scratch. ETRAX specific. */ -static void kill_restart (void); - /******************** Prototypes for global functions. ***********************/ /* The string str is prepended with the GDB printout token and sent. */ @@ -500,164 +424,6 @@ gdb_cris_strtol (const char *s, char **endptr, int base) return x; } -/********************************* Register image ****************************/ -/* Copy the content of a register image into another. The size n is - the size of the register image. Due to struct assignment generation of - memcpy in libc. */ -static void -copy_registers (registers *dptr, registers *sptr, int n) -{ - unsigned char *dreg; - unsigned char *sreg; - - for (dreg = (unsigned char*)dptr, sreg = (unsigned char*)sptr; n > 0; n--) - *dreg++ = *sreg++; -} - -#ifdef PROCESS_SUPPORT -/* Copy the stored registers from the stack. Put the register contents - of thread thread_id in the struct reg. */ -static void -copy_registers_from_stack (int thread_id, registers *regptr) -{ - int j; - stack_registers *s = (stack_registers *)stack_list[thread_id]; - unsigned int *d = (unsigned int *)regptr; - - for (j = 13; j >= 0; j--) - *d++ = s->r[j]; - regptr->sp = (unsigned int)stack_list[thread_id]; - regptr->pc = s->pc; - regptr->dccr = s->dccr; - regptr->srp = s->srp; -} - -/* Copy the registers to the stack. Put the register contents of thread - thread_id from struct reg to the stack. */ -static void -copy_registers_to_stack (int thread_id, registers *regptr) -{ - int i; - stack_registers *d = (stack_registers *)stack_list[thread_id]; - unsigned int *s = (unsigned int *)regptr; - - for (i = 0; i < 14; i++) { - d->r[i] = *s++; - } - d->pc = regptr->pc; - d->dccr = regptr->dccr; - d->srp = regptr->srp; -} -#endif - -/* Write a value to a specified register in the register image of the current - thread. Returns status code SUCCESS, E02 or E05. */ -static int -write_register (int regno, char *val) -{ - int status = SUCCESS; - registers *current_reg = ® - - if (regno >= R0 && regno <= PC) { - /* 32-bit register with simple offset. */ - hex2mem ((unsigned char *)current_reg + regno * sizeof(unsigned int), - val, sizeof(unsigned int)); - } - else if (regno == P0 || regno == VR || regno == P4 || regno == P8) { - /* Do not support read-only registers. */ - status = E02; - } - else if (regno == CCR) { - /* 16 bit register with complex offset. (P4 is read-only, P6 is not implemented, - and P7 (MOF) is 32 bits in ETRAX 100LX. */ - hex2mem ((unsigned char *)&(current_reg->ccr) + (regno-CCR) * sizeof(unsigned short), - val, sizeof(unsigned short)); - } - else if (regno >= MOF && regno <= USP) { - /* 32 bit register with complex offset. (P8 has been taken care of.) */ - hex2mem ((unsigned char *)&(current_reg->ibr) + (regno-IBR) * sizeof(unsigned int), - val, sizeof(unsigned int)); - } - else { - /* Do not support nonexisting or unimplemented registers (P2, P3, and P6). */ - status = E05; - } - return status; -} - -#ifdef PROCESS_SUPPORT -/* Write a value to a specified register in the stack of a thread other - than the current thread. Returns status code SUCCESS or E07. */ -static int -write_stack_register (int thread_id, int regno, char *valptr) -{ - int status = SUCCESS; - stack_registers *d = (stack_registers *)stack_list[thread_id]; - unsigned int val; - - hex2mem ((unsigned char *)&val, valptr, sizeof(unsigned int)); - if (regno >= R0 && regno < SP) { - d->r[regno] = val; - } - else if (regno == SP) { - stack_list[thread_id] = val; - } - else if (regno == PC) { - d->pc = val; - } - else if (regno == SRP) { - d->srp = val; - } - else if (regno == DCCR) { - d->dccr = val; - } - else { - /* Do not support registers in the current thread. */ - status = E07; - } - return status; -} -#endif - -/* Read a value from a specified register in the register image. Returns the - value in the register or -1 for non-implemented registers. - Should check consistency_status after a call which may be E05 after changes - in the implementation. */ -static int -read_register (char regno, unsigned int *valptr) -{ - registers *current_reg = ® - - if (regno >= R0 && regno <= PC) { - /* 32-bit register with simple offset. */ - *valptr = *(unsigned int *)((char *)current_reg + regno * sizeof(unsigned int)); - return SUCCESS; - } - else if (regno == P0 || regno == VR) { - /* 8 bit register with complex offset. */ - *valptr = (unsigned int)(*(unsigned char *) - ((char *)&(current_reg->p0) + (regno-P0) * sizeof(char))); - return SUCCESS; - } - else if (regno == P4 || regno == CCR) { - /* 16 bit register with complex offset. */ - *valptr = (unsigned int)(*(unsigned short *) - ((char *)&(current_reg->p4) + (regno-P4) * sizeof(unsigned short))); - return SUCCESS; - } - else if (regno >= MOF && regno <= USP) { - /* 32 bit register with complex offset. */ - *valptr = *(unsigned int *)((char *)&(current_reg->p8) - + (regno-P8) * sizeof(unsigned int)); - return SUCCESS; - } - else { - /* Do not support nonexisting or unimplemented registers (P2, P3, and P6). */ - consistency_status = E05; - return E05; - } -} - /********************************** Packet I/O ******************************/ /* Returns the integer equivalent of a hexadecimal character. */ static int @@ -843,6 +609,164 @@ putDebugString (const unsigned char *str, int length) putpacket(remcomOutBuffer); } +/********************************* Register image ****************************/ +/* Copy the content of a register image into another. The size n is + the size of the register image. Due to struct assignment generation of + memcpy in libc. */ +static void +copy_registers (registers *dptr, registers *sptr, int n) +{ + unsigned char *dreg; + unsigned char *sreg; + + for (dreg = (unsigned char*)dptr, sreg = (unsigned char*)sptr; n > 0; n--) + *dreg++ = *sreg++; +} + +#ifdef PROCESS_SUPPORT +/* Copy the stored registers from the stack. Put the register contents + of thread thread_id in the struct reg. */ +static void +copy_registers_from_stack (int thread_id, registers *regptr) +{ + int j; + stack_registers *s = (stack_registers *)stack_list[thread_id]; + unsigned int *d = (unsigned int *)regptr; + + for (j = 13; j >= 0; j--) + *d++ = s->r[j]; + regptr->sp = (unsigned int)stack_list[thread_id]; + regptr->pc = s->pc; + regptr->dccr = s->dccr; + regptr->srp = s->srp; +} + +/* Copy the registers to the stack. Put the register contents of thread + thread_id from struct reg to the stack. */ +static void +copy_registers_to_stack (int thread_id, registers *regptr) +{ + int i; + stack_registers *d = (stack_registers *)stack_list[thread_id]; + unsigned int *s = (unsigned int *)regptr; + + for (i = 0; i < 14; i++) { + d->r[i] = *s++; + } + d->pc = regptr->pc; + d->dccr = regptr->dccr; + d->srp = regptr->srp; +} +#endif + +/* Write a value to a specified register in the register image of the current + thread. Returns status code SUCCESS, E02 or E05. */ +static int +write_register (int regno, char *val) +{ + int status = SUCCESS; + registers *current_reg = ® + + if (regno >= R0 && regno <= PC) { + /* 32-bit register with simple offset. */ + hex2mem ((unsigned char *)current_reg + regno * sizeof(unsigned int), + val, sizeof(unsigned int)); + } + else if (regno == P0 || regno == VR || regno == P4 || regno == P8) { + /* Do not support read-only registers. */ + status = E02; + } + else if (regno == CCR) { + /* 16 bit register with complex offset. (P4 is read-only, P6 is not implemented, + and P7 (MOF) is 32 bits in ETRAX 100LX. */ + hex2mem ((unsigned char *)&(current_reg->ccr) + (regno-CCR) * sizeof(unsigned short), + val, sizeof(unsigned short)); + } + else if (regno >= MOF && regno <= USP) { + /* 32 bit register with complex offset. (P8 has been taken care of.) */ + hex2mem ((unsigned char *)&(current_reg->ibr) + (regno-IBR) * sizeof(unsigned int), + val, sizeof(unsigned int)); + } + else { + /* Do not support nonexisting or unimplemented registers (P2, P3, and P6). */ + status = E05; + } + return status; +} + +#ifdef PROCESS_SUPPORT +/* Write a value to a specified register in the stack of a thread other + than the current thread. Returns status code SUCCESS or E07. */ +static int +write_stack_register (int thread_id, int regno, char *valptr) +{ + int status = SUCCESS; + stack_registers *d = (stack_registers *)stack_list[thread_id]; + unsigned int val; + + hex2mem ((unsigned char *)&val, valptr, sizeof(unsigned int)); + if (regno >= R0 && regno < SP) { + d->r[regno] = val; + } + else if (regno == SP) { + stack_list[thread_id] = val; + } + else if (regno == PC) { + d->pc = val; + } + else if (regno == SRP) { + d->srp = val; + } + else if (regno == DCCR) { + d->dccr = val; + } + else { + /* Do not support registers in the current thread. */ + status = E07; + } + return status; +} +#endif + +/* Read a value from a specified register in the register image. Returns the + value in the register or -1 for non-implemented registers. + Should check consistency_status after a call which may be E05 after changes + in the implementation. */ +static int +read_register (char regno, unsigned int *valptr) +{ + registers *current_reg = ® + + if (regno >= R0 && regno <= PC) { + /* 32-bit register with simple offset. */ + *valptr = *(unsigned int *)((char *)current_reg + regno * sizeof(unsigned int)); + return SUCCESS; + } + else if (regno == P0 || regno == VR) { + /* 8 bit register with complex offset. */ + *valptr = (unsigned int)(*(unsigned char *) + ((char *)&(current_reg->p0) + (regno-P0) * sizeof(char))); + return SUCCESS; + } + else if (regno == P4 || regno == CCR) { + /* 16 bit register with complex offset. */ + *valptr = (unsigned int)(*(unsigned short *) + ((char *)&(current_reg->p4) + (regno-P4) * sizeof(unsigned short))); + return SUCCESS; + } + else if (regno >= MOF && regno <= USP) { + /* 32 bit register with complex offset. */ + *valptr = *(unsigned int *)((char *)&(current_reg->p8) + + (regno-P8) * sizeof(unsigned int)); + return SUCCESS; + } + else { + /* Do not support nonexisting or unimplemented registers (P2, P3, and P6). */ + consistency_status = E05; + return E05; + } +} + /********************************** Handle exceptions ************************/ /* Build and send a response packet in order to inform the host the stub is stopped. TAAn...:r...;n...:r...;n...:r...; @@ -916,6 +840,13 @@ stub_is_stopped(int sigval) putpacket (remcomOutBuffer); } +/* Performs a complete re-start from scratch. */ +static void +kill_restart (void) +{ + machine_restart(""); +} + /* All expected commands are sent from remote.c. Send a response according to the description in remote.c. */ static void @@ -1252,13 +1183,6 @@ handle_exception (int sigval) } } -/* Performs a complete re-start from scratch. */ -static void -kill_restart () -{ - machine_restart(""); -} - /********************************** Breakpoint *******************************/ /* The hook for both a static (compiled) and a dynamic breakpoint set by GDB. An internal stack is used by the stub. The register image of the caller is -- cgit v1.2.3 From d6c97e1ccb01186b3c171a7aa3a043069c134878 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Mon, 11 Feb 2013 20:43:18 +0100 Subject: cris/kgdb: Use #ifdef PROCESS_SUPPORT where needed arch/cris/arch-v10/kernel/kgdb.c:354:12: warning: 'current_thread_c' defined but not used [-Wunused-variable] arch/cris/arch-v10/kernel/kgdb.c:355:12: warning: 'current_thread_g' defined but not used [-Wunused-variable] arch/cris/arch-v10/kernel/kgdb.c:359:18: warning: 'reg_g' defined but not used [-Wunused-variable] arch/cris/arch-v10/kernel/kgdb.c:622:1: warning: 'copy_registers' defined but not used [-Wunused-function] Signed-off-by: Geert Uytterhoeven --- arch/cris/arch-v10/kernel/kgdb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'arch') diff --git a/arch/cris/arch-v10/kernel/kgdb.c b/arch/cris/arch-v10/kernel/kgdb.c index 3c852b3141c6..e02d2df5220c 100644 --- a/arch/cris/arch-v10/kernel/kgdb.c +++ b/arch/cris/arch-v10/kernel/kgdb.c @@ -345,6 +345,7 @@ static int consistency_status = SUCCESS; in order to provide access mainly for 'g', 'G' and 'P'. */ +#ifdef PROCESS_SUPPORT /* Need two task id pointers in order to handle Hct and Hgt commands. */ static int current_thread_c = 0; static int current_thread_g = 0; @@ -352,6 +353,7 @@ static int current_thread_g = 0; /* Need two register images in order to handle Hct and Hgt commands. The variable reg_g is in addition to reg above. */ static registers reg_g; +#endif /* PROCESS_SUPPORT */ /********************************** Breakpoint *******************************/ /* Use an internal stack in the breakpoint and interrupt response routines */ @@ -610,6 +612,7 @@ putDebugString (const unsigned char *str, int length) } /********************************* Register image ****************************/ +#ifdef PROCESS_SUPPORT /* Copy the content of a register image into another. The size n is the size of the register image. Due to struct assignment generation of memcpy in libc. */ @@ -623,7 +626,6 @@ copy_registers (registers *dptr, registers *sptr, int n) *dreg++ = *sreg++; } -#ifdef PROCESS_SUPPORT /* Copy the stored registers from the stack. Put the register contents of thread thread_id in the struct reg. */ static void -- cgit v1.2.3 From 6408ac49979d7035b2e53a9fb326ab0eb98aa6be Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Tue, 12 Feb 2013 09:57:56 +0100 Subject: cris/kgdb: Make symbols used from asm global arch/cris/arch-v10/kernel/built-in.o: In function `kgdb_handle_breakpoint': (.text+0x2c3e): undefined reference to `reg' arch/cris/arch-v10/kernel/built-in.o: In function `kgdb_handle_breakpoint': (.text+0x2c48): undefined reference to `reg' arch/cris/arch-v10/kernel/built-in.o: In function `kgdb_handle_breakpoint': (.text+0x2c50): undefined reference to `reg' arch/cris/arch-v10/kernel/built-in.o: In function `kgdb_handle_breakpoint': (.text+0x2c58): undefined reference to `reg' arch/cris/arch-v10/kernel/built-in.o: In function `kgdb_handle_breakpoint': (.text+0x2c60): undefined reference to `reg' arch/cris/arch-v10/kernel/built-in.o:(.text+0x2c68): more undefined references to `reg' follow arch/cris/arch-v10/kernel/built-in.o: In function `is_static': kgdb.c:(.text+0x2d46): undefined reference to `internal_stack' kgdb.c:(.text+0x2d4e): undefined reference to `handle_exception' kgdb.c:(.text+0x2d54): undefined reference to `reg' kgdb.c:(.text+0x2d5c): undefined reference to `reg' kgdb.c:(.text+0x2d64): undefined reference to `reg' kgdb.c:(.text+0x2d6c): undefined reference to `reg' kgdb.c:(.text+0x2d74): undefined reference to `reg' arch/cris/arch-v10/kernel/built-in.o:kgdb.c:(.text+0x2d7c): more undefined references to `reg' follow arch/cris/arch-v10/kernel/built-in.o: In function `kgdb_handle_serial': (.text+0x2ef6): undefined reference to `internal_stack' arch/cris/arch-v10/kernel/built-in.o: In function `kgdb_handle_serial': (.text+0x2efe): undefined reference to `handle_exception' arch/cris/arch-v10/kernel/built-in.o: In function `goback': kgdb.c:(.text+0x2f04): undefined reference to `reg' kgdb.c:(.text+0x2f0c): undefined reference to `reg' kgdb.c:(.text+0x2f14): undefined reference to `reg' kgdb.c:(.text+0x2f1c): undefined reference to `reg' kgdb.c:(.text+0x2f24): undefined reference to `reg' arch/cris/arch-v10/kernel/built-in.o:kgdb.c:(.text+0x2f2c): more undefined references to `reg' follow Make reg, internal_stack, and handle_exception global to fix this. Rename reg to cris_reg as it's a too generic name for a global symbol. Signed-off-by: Geert Uytterhoeven --- arch/cris/arch-v10/kernel/kgdb.c | 218 +++++++++++++++++++-------------------- 1 file changed, 109 insertions(+), 109 deletions(-) (limited to 'arch') diff --git a/arch/cris/arch-v10/kernel/kgdb.c b/arch/cris/arch-v10/kernel/kgdb.c index e02d2df5220c..7e24b7339ff8 100644 --- a/arch/cris/arch-v10/kernel/kgdb.c +++ b/arch/cris/arch-v10/kernel/kgdb.c @@ -329,7 +329,7 @@ static int register_size[] = /* Contains the register image of the executing thread in the assembler part of the code in order to avoid horrible addressing modes. */ -static registers reg; +registers cris_reg; /* FIXME: Should this be used? Delete otherwise. */ /* Contains the assumed consistency state of the register image. Uses the @@ -337,7 +337,7 @@ static registers reg; static int consistency_status = SUCCESS; /********************************** Handle exceptions ************************/ -/* The variable reg contains the register image associated with the +/* The variable cris_reg contains the register image associated with the current_thread_c variable. It is a complete register image created at entry. The reg_g contains a register image of a task where the general registers are taken from the stack and all special registers are taken @@ -351,14 +351,14 @@ static int current_thread_c = 0; static int current_thread_g = 0; /* Need two register images in order to handle Hct and Hgt commands. The - variable reg_g is in addition to reg above. */ + variable reg_g is in addition to cris_reg above. */ static registers reg_g; #endif /* PROCESS_SUPPORT */ /********************************** Breakpoint *******************************/ /* Use an internal stack in the breakpoint and interrupt response routines */ #define INTERNAL_STACK_SIZE 1024 -static char internal_stack[INTERNAL_STACK_SIZE]; +char internal_stack[INTERNAL_STACK_SIZE]; /* Due to the breakpoint return pointer, a state variable is needed to keep track of whether it is a static (compiled) or dynamic (gdb-invoked) @@ -667,7 +667,7 @@ static int write_register (int regno, char *val) { int status = SUCCESS; - registers *current_reg = ® + registers *current_reg = &cris_reg; if (regno >= R0 && regno <= PC) { /* 32-bit register with simple offset. */ @@ -737,7 +737,7 @@ write_stack_register (int thread_id, int regno, char *valptr) static int read_register (char regno, unsigned int *valptr) { - registers *current_reg = ® + registers *current_reg = &cris_reg; if (regno >= R0 && regno <= PC) { /* 32-bit register with simple offset. */ @@ -825,7 +825,7 @@ stub_is_stopped(int sigval) /* A struct assignment translates into a libc memcpy call. Avoid all libc functions in order to prevent recursive break points. */ - copy_registers (®_g, ®, sizeof(registers)); + copy_registers (®_g, &cris_reg, sizeof(registers)); /* Store thread:r...; with the executing task TID. */ gdb_cris_strcpy (&remcomOutBuffer[pos], "thread:"); @@ -851,7 +851,7 @@ kill_restart (void) /* All expected commands are sent from remote.c. Send a response according to the description in remote.c. */ -static void +void handle_exception (int sigval) { /* Avoid warning of not used. */ @@ -877,14 +877,14 @@ handle_exception (int sigval) { #ifdef PROCESS_SUPPORT /* Use the special register content in the executing thread. */ - copy_registers (®_g, ®, sizeof(registers)); + copy_registers (®_g, &cris_reg, sizeof(registers)); /* Replace the content available on the stack. */ if (current_thread_g != executing_task) { copy_registers_from_stack (current_thread_g, ®_g); } mem2hex ((unsigned char *)remcomOutBuffer, (unsigned char *)®_g, sizeof(registers)); #else - mem2hex(remcomOutBuffer, (char *)®, sizeof(registers)); + mem2hex(remcomOutBuffer, (char *)&cris_reg, sizeof(registers)); #endif } break; @@ -897,13 +897,13 @@ handle_exception (int sigval) #ifdef PROCESS_SUPPORT hex2mem ((unsigned char *)®_g, &remcomInBuffer[1], sizeof(registers)); if (current_thread_g == executing_task) { - copy_registers (®, ®_g, sizeof(registers)); + copy_registers (&cris_reg, ®_g, sizeof(registers)); } else { copy_registers_to_stack(current_thread_g, ®_g); } #else - hex2mem((char *)®, &remcomInBuffer[1], sizeof(registers)); + hex2mem((char *)&cris_reg, &remcomInBuffer[1], sizeof(registers)); #endif gdb_cris_strcpy (remcomOutBuffer, "OK"); break; @@ -1004,7 +1004,7 @@ handle_exception (int sigval) Success: return to the executing thread. Failure: will never know. */ if (remcomInBuffer[1] != '\0') { - reg.pc = gdb_cris_strtol (&remcomInBuffer[1], 0, 16); + cris_reg.pc = gdb_cris_strtol (&remcomInBuffer[1], 0, 16); } enableDebugIRQ(); return; @@ -1202,37 +1202,37 @@ asm ("\n" ";;\n" ";; Create a register image of the caller\n" ";;\n" -" move $dccr,[reg+0x5E] ; Save the flags in DCCR before disable interrupts\n" +" move $dccr,[cris_reg+0x5E] ; Save the flags in DCCR before disable interrupts\n" " di ; Disable interrupts\n" -" move.d $r0,[reg] ; Save R0\n" -" move.d $r1,[reg+0x04] ; Save R1\n" -" move.d $r2,[reg+0x08] ; Save R2\n" -" move.d $r3,[reg+0x0C] ; Save R3\n" -" move.d $r4,[reg+0x10] ; Save R4\n" -" move.d $r5,[reg+0x14] ; Save R5\n" -" move.d $r6,[reg+0x18] ; Save R6\n" -" move.d $r7,[reg+0x1C] ; Save R7\n" -" move.d $r8,[reg+0x20] ; Save R8\n" -" move.d $r9,[reg+0x24] ; Save R9\n" -" move.d $r10,[reg+0x28] ; Save R10\n" -" move.d $r11,[reg+0x2C] ; Save R11\n" -" move.d $r12,[reg+0x30] ; Save R12\n" -" move.d $r13,[reg+0x34] ; Save R13\n" -" move.d $sp,[reg+0x38] ; Save SP (R14)\n" +" move.d $r0,[cris_reg] ; Save R0\n" +" move.d $r1,[cris_reg+0x04] ; Save R1\n" +" move.d $r2,[cris_reg+0x08] ; Save R2\n" +" move.d $r3,[cris_reg+0x0C] ; Save R3\n" +" move.d $r4,[cris_reg+0x10] ; Save R4\n" +" move.d $r5,[cris_reg+0x14] ; Save R5\n" +" move.d $r6,[cris_reg+0x18] ; Save R6\n" +" move.d $r7,[cris_reg+0x1C] ; Save R7\n" +" move.d $r8,[cris_reg+0x20] ; Save R8\n" +" move.d $r9,[cris_reg+0x24] ; Save R9\n" +" move.d $r10,[cris_reg+0x28] ; Save R10\n" +" move.d $r11,[cris_reg+0x2C] ; Save R11\n" +" move.d $r12,[cris_reg+0x30] ; Save R12\n" +" move.d $r13,[cris_reg+0x34] ; Save R13\n" +" move.d $sp,[cris_reg+0x38] ; Save SP (R14)\n" ";; Due to the old assembler-versions BRP might not be recognized\n" " .word 0xE670 ; move brp,$r0\n" " subq 2,$r0 ; Set to address of previous instruction.\n" -" move.d $r0,[reg+0x3c] ; Save the address in PC (R15)\n" -" clear.b [reg+0x40] ; Clear P0\n" -" move $vr,[reg+0x41] ; Save special register P1\n" -" clear.w [reg+0x42] ; Clear P4\n" -" move $ccr,[reg+0x44] ; Save special register CCR\n" -" move $mof,[reg+0x46] ; P7\n" -" clear.d [reg+0x4A] ; Clear P8\n" -" move $ibr,[reg+0x4E] ; P9,\n" -" move $irp,[reg+0x52] ; P10,\n" -" move $srp,[reg+0x56] ; P11,\n" -" move $dtp0,[reg+0x5A] ; P12, register BAR, assembler might not know BAR\n" +" move.d $r0,[cris_reg+0x3c] ; Save the address in PC (R15)\n" +" clear.b [cris_reg+0x40] ; Clear P0\n" +" move $vr,[cris_reg+0x41] ; Save special register P1\n" +" clear.w [cris_reg+0x42] ; Clear P4\n" +" move $ccr,[cris_reg+0x44] ; Save special register CCR\n" +" move $mof,[cris_reg+0x46] ; P7\n" +" clear.d [cris_reg+0x4A] ; Clear P8\n" +" move $ibr,[cris_reg+0x4E] ; P9,\n" +" move $irp,[cris_reg+0x52] ; P10,\n" +" move $srp,[cris_reg+0x56] ; P11,\n" +" move $dtp0,[cris_reg+0x5A] ; P12, register BAR, assembler might not know BAR\n" " ; P13, register DCCR already saved\n" ";; Due to the old assembler-versions BRP might not be recognized\n" " .word 0xE670 ; move brp,r0\n" @@ -1246,8 +1246,8 @@ asm ("\n" "is_static:\n" " moveq 1,$r1\n" " move.b $r1,[is_dyn_brkp] ; Set the state variable to dynamic breakpoint\n" -" move.d $r0,[reg+0x62] ; Save the return address in BRP\n" -" move $usp,[reg+0x66] ; USP\n" +" move.d $r0,[cris_reg+0x62] ; Save the return address in BRP\n" +" move $usp,[cris_reg+0x66] ; USP\n" ";;\n" ";; Handle the communication\n" ";;\n" @@ -1257,28 +1257,28 @@ asm ("\n" ";;\n" ";; Return to the caller\n" ";;\n" -" move.d [reg],$r0 ; Restore R0\n" -" move.d [reg+0x04],$r1 ; Restore R1\n" -" move.d [reg+0x08],$r2 ; Restore R2\n" -" move.d [reg+0x0C],$r3 ; Restore R3\n" -" move.d [reg+0x10],$r4 ; Restore R4\n" -" move.d [reg+0x14],$r5 ; Restore R5\n" -" move.d [reg+0x18],$r6 ; Restore R6\n" -" move.d [reg+0x1C],$r7 ; Restore R7\n" -" move.d [reg+0x20],$r8 ; Restore R8\n" -" move.d [reg+0x24],$r9 ; Restore R9\n" -" move.d [reg+0x28],$r10 ; Restore R10\n" -" move.d [reg+0x2C],$r11 ; Restore R11\n" -" move.d [reg+0x30],$r12 ; Restore R12\n" -" move.d [reg+0x34],$r13 ; Restore R13\n" +" move.d [cris_reg],$r0 ; Restore R0\n" +" move.d [cris_reg+0x04],$r1 ; Restore R1\n" +" move.d [cris_reg+0x08],$r2 ; Restore R2\n" +" move.d [cris_reg+0x0C],$r3 ; Restore R3\n" +" move.d [cris_reg+0x10],$r4 ; Restore R4\n" +" move.d [cris_reg+0x14],$r5 ; Restore R5\n" +" move.d [cris_reg+0x18],$r6 ; Restore R6\n" +" move.d [cris_reg+0x1C],$r7 ; Restore R7\n" +" move.d [cris_reg+0x20],$r8 ; Restore R8\n" +" move.d [cris_reg+0x24],$r9 ; Restore R9\n" +" move.d [cris_reg+0x28],$r10 ; Restore R10\n" +" move.d [cris_reg+0x2C],$r11 ; Restore R11\n" +" move.d [cris_reg+0x30],$r12 ; Restore R12\n" +" move.d [cris_reg+0x34],$r13 ; Restore R13\n" ";;\n" ";; FIXME: Which registers should be restored?\n" ";;\n" -" move.d [reg+0x38],$sp ; Restore SP (R14)\n" -" move [reg+0x56],$srp ; Restore the subroutine return pointer.\n" -" move [reg+0x5E],$dccr ; Restore DCCR\n" -" move [reg+0x66],$usp ; Restore USP\n" -" jump [reg+0x62] ; A jump to the content in register BRP works.\n" +" move.d [cris_reg+0x38],$sp ; Restore SP (R14)\n" +" move [cris_reg+0x56],$srp ; Restore the subroutine return pointer.\n" +" move [cris_reg+0x5E],$dccr ; Restore DCCR\n" +" move [cris_reg+0x66],$usp ; Restore USP\n" +" jump [cris_reg+0x62] ; A jump to the content in register BRP works.\n" " nop ;\n" "\n"); @@ -1298,39 +1298,39 @@ asm ("\n" ";; Response to a serial interrupt\n" ";;\n" "\n" -" move $dccr,[reg+0x5E] ; Save the flags in DCCR\n" +" move $dccr,[cris_reg+0x5E] ; Save the flags in DCCR\n" " di ; Disable interrupts\n" -" move.d $r0,[reg] ; Save R0\n" -" move.d $r1,[reg+0x04] ; Save R1\n" -" move.d $r2,[reg+0x08] ; Save R2\n" -" move.d $r3,[reg+0x0C] ; Save R3\n" -" move.d $r4,[reg+0x10] ; Save R4\n" -" move.d $r5,[reg+0x14] ; Save R5\n" -" move.d $r6,[reg+0x18] ; Save R6\n" -" move.d $r7,[reg+0x1C] ; Save R7\n" -" move.d $r8,[reg+0x20] ; Save R8\n" -" move.d $r9,[reg+0x24] ; Save R9\n" -" move.d $r10,[reg+0x28] ; Save R10\n" -" move.d $r11,[reg+0x2C] ; Save R11\n" -" move.d $r12,[reg+0x30] ; Save R12\n" -" move.d $r13,[reg+0x34] ; Save R13\n" -" move.d $sp,[reg+0x38] ; Save SP (R14)\n" -" move $irp,[reg+0x3c] ; Save the address in PC (R15)\n" -" clear.b [reg+0x40] ; Clear P0\n" -" move $vr,[reg+0x41] ; Save special register P1,\n" -" clear.w [reg+0x42] ; Clear P4\n" -" move $ccr,[reg+0x44] ; Save special register CCR\n" -" move $mof,[reg+0x46] ; P7\n" -" clear.d [reg+0x4A] ; Clear P8\n" -" move $ibr,[reg+0x4E] ; P9,\n" -" move $irp,[reg+0x52] ; P10,\n" -" move $srp,[reg+0x56] ; P11,\n" -" move $dtp0,[reg+0x5A] ; P12, register BAR, assembler might not know BAR\n" +" move.d $r0,[cris_reg] ; Save R0\n" +" move.d $r1,[cris_reg+0x04] ; Save R1\n" +" move.d $r2,[cris_reg+0x08] ; Save R2\n" +" move.d $r3,[cris_reg+0x0C] ; Save R3\n" +" move.d $r4,[cris_reg+0x10] ; Save R4\n" +" move.d $r5,[cris_reg+0x14] ; Save R5\n" +" move.d $r6,[cris_reg+0x18] ; Save R6\n" +" move.d $r7,[cris_reg+0x1C] ; Save R7\n" +" move.d $r8,[cris_reg+0x20] ; Save R8\n" +" move.d $r9,[cris_reg+0x24] ; Save R9\n" +" move.d $r10,[cris_reg+0x28] ; Save R10\n" +" move.d $r11,[cris_reg+0x2C] ; Save R11\n" +" move.d $r12,[cris_reg+0x30] ; Save R12\n" +" move.d $r13,[cris_reg+0x34] ; Save R13\n" +" move.d $sp,[cris_reg+0x38] ; Save SP (R14)\n" +" move $irp,[cris_reg+0x3c] ; Save the address in PC (R15)\n" +" clear.b [cris_reg+0x40] ; Clear P0\n" +" move $vr,[cris_reg+0x41] ; Save special register P1,\n" +" clear.w [cris_reg+0x42] ; Clear P4\n" +" move $ccr,[cris_reg+0x44] ; Save special register CCR\n" +" move $mof,[cris_reg+0x46] ; P7\n" +" clear.d [cris_reg+0x4A] ; Clear P8\n" +" move $ibr,[cris_reg+0x4E] ; P9,\n" +" move $irp,[cris_reg+0x52] ; P10,\n" +" move $srp,[cris_reg+0x56] ; P11,\n" +" move $dtp0,[cris_reg+0x5A] ; P12, register BAR, assembler might not know BAR\n" " ; P13, register DCCR already saved\n" ";; Due to the old assembler-versions BRP might not be recognized\n" " .word 0xE670 ; move brp,r0\n" -" move.d $r0,[reg+0x62] ; Save the return address in BRP\n" -" move $usp,[reg+0x66] ; USP\n" +" move.d $r0,[cris_reg+0x62] ; Save the return address in BRP\n" +" move $usp,[cris_reg+0x66] ; USP\n" "\n" ";; get the serial character (from debugport.c) and check if it is a ctrl-c\n" "\n" @@ -1339,7 +1339,7 @@ asm ("\n" " bne goback\n" " nop\n" "\n" -" move.d [reg+0x5E], $r10 ; Get DCCR\n" +" move.d [cris_reg+0x5E], $r10 ; Get DCCR\n" " btstq 8, $r10 ; Test the U-flag.\n" " bmi goback\n" " nop\n" @@ -1355,27 +1355,27 @@ asm ("\n" ";;\n" ";; Return to the caller\n" ";;\n" -" move.d [reg],$r0 ; Restore R0\n" -" move.d [reg+0x04],$r1 ; Restore R1\n" -" move.d [reg+0x08],$r2 ; Restore R2\n" -" move.d [reg+0x0C],$r3 ; Restore R3\n" -" move.d [reg+0x10],$r4 ; Restore R4\n" -" move.d [reg+0x14],$r5 ; Restore R5\n" -" move.d [reg+0x18],$r6 ; Restore R6\n" -" move.d [reg+0x1C],$r7 ; Restore R7\n" -" move.d [reg+0x20],$r8 ; Restore R8\n" -" move.d [reg+0x24],$r9 ; Restore R9\n" -" move.d [reg+0x28],$r10 ; Restore R10\n" -" move.d [reg+0x2C],$r11 ; Restore R11\n" -" move.d [reg+0x30],$r12 ; Restore R12\n" -" move.d [reg+0x34],$r13 ; Restore R13\n" +" move.d [cris_reg],$r0 ; Restore R0\n" +" move.d [cris_reg+0x04],$r1 ; Restore R1\n" +" move.d [cris_reg+0x08],$r2 ; Restore R2\n" +" move.d [cris_reg+0x0C],$r3 ; Restore R3\n" +" move.d [cris_reg+0x10],$r4 ; Restore R4\n" +" move.d [cris_reg+0x14],$r5 ; Restore R5\n" +" move.d [cris_reg+0x18],$r6 ; Restore R6\n" +" move.d [cris_reg+0x1C],$r7 ; Restore R7\n" +" move.d [cris_reg+0x20],$r8 ; Restore R8\n" +" move.d [cris_reg+0x24],$r9 ; Restore R9\n" +" move.d [cris_reg+0x28],$r10 ; Restore R10\n" +" move.d [cris_reg+0x2C],$r11 ; Restore R11\n" +" move.d [cris_reg+0x30],$r12 ; Restore R12\n" +" move.d [cris_reg+0x34],$r13 ; Restore R13\n" ";;\n" ";; FIXME: Which registers should be restored?\n" ";;\n" -" move.d [reg+0x38],$sp ; Restore SP (R14)\n" -" move [reg+0x56],$srp ; Restore the subroutine return pointer.\n" -" move [reg+0x5E],$dccr ; Restore DCCR\n" -" move [reg+0x66],$usp ; Restore USP\n" +" move.d [cris_reg+0x38],$sp ; Restore SP (R14)\n" +" move [cris_reg+0x56],$srp ; Restore the subroutine return pointer.\n" +" move [cris_reg+0x5E],$dccr ; Restore DCCR\n" +" move [cris_reg+0x66],$usp ; Restore USP\n" " reti ; Return from the interrupt routine\n" " nop\n" "\n"); -- cgit v1.2.3 From e42e3980ad7aa92f1acef22f3451e379f701ca26 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Tue, 12 Feb 2013 10:04:28 +0100 Subject: cris/kgdb: Remove obsolete USED*() macros handle_exception and internal_stack are now global Signed-off-by: Geert Uytterhoeven --- arch/cris/arch-v10/kernel/kgdb.c | 9 --------- 1 file changed, 9 deletions(-) (limited to 'arch') diff --git a/arch/cris/arch-v10/kernel/kgdb.c b/arch/cris/arch-v10/kernel/kgdb.c index 7e24b7339ff8..d0b6257afc2c 100644 --- a/arch/cris/arch-v10/kernel/kgdb.c +++ b/arch/cris/arch-v10/kernel/kgdb.c @@ -260,10 +260,6 @@ extern unsigned char executing_task; /* The number of characters used for a 64 bit thread identifier. */ #define HEXCHARS_IN_THREAD_ID 16 -/* Avoid warning as the internal_stack is not used in the C-code. */ -#define USEDVAR(name) { if (name) { ; } } -#define USEDFUN(name) { void (*pf)(void) = (void *)name; USEDVAR(pf) } - /********************************** Packet I/O ******************************/ /* BUFMAX defines the maximum number of characters in inbound/outbound buffers */ @@ -854,11 +850,6 @@ kill_restart (void) void handle_exception (int sigval) { - /* Avoid warning of not used. */ - - USEDFUN(handle_exception); - USEDVAR(internal_stack[0]); - /* Send response. */ stub_is_stopped (sigval); -- cgit v1.2.3 From de666cf0a6b5eb67be0bd518c959a9cf3336dd15 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Tue, 12 Feb 2013 10:06:12 +0100 Subject: cris/kgdb: Fix buffer overflow in getpacket() arch/cris/arch-v10/kernel/kgdb.c: In function 'handle_exception': arch/cris/arch-v10/kernel/kgdb.c:534:17: warning: array subscript is above array bounds [-Warray-bounds] Signed-off-by: Geert Uytterhoeven --- arch/cris/arch-v10/kernel/kgdb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arch') diff --git a/arch/cris/arch-v10/kernel/kgdb.c b/arch/cris/arch-v10/kernel/kgdb.c index d0b6257afc2c..0e799073498d 100644 --- a/arch/cris/arch-v10/kernel/kgdb.c +++ b/arch/cris/arch-v10/kernel/kgdb.c @@ -523,7 +523,7 @@ getpacket (char *buffer) xmitcsum = -1; count = 0; /* Read until a # or the end of the buffer is reached */ - while (count < BUFMAX) { + while (count < BUFMAX - 1) { ch = getDebugChar (); if (ch == '#') break; -- cgit v1.2.3 From 6a89a9dba2bf16aac408fb7ba7ac548a02837464 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Tue, 12 Feb 2013 10:14:11 +0100 Subject: cris/kgdb: Remove sections protected by #ifdef PROCESS_SUPPORT When enabled, it doesn't build anyway: arch/cris/arch-v10/kernel/kgdb.c: In function 'copy_registers_from_stack': arch/cris/arch-v10/kernel/kgdb.c:631:2: error: unknown type name 'stack_registers' arch/cris/arch-v10/kernel/kgdb.c:631:24: error: 'stack_registers' undeclared (first use in this function) arch/cris/arch-v10/kernel/kgdb.c:631:24: note: each undeclared identifier is reported only once for each function it appears in arch/cris/arch-v10/kernel/kgdb.c:631:41: error: expected expression before ')' token arch/cris/arch-v10/kernel/kgdb.c:635:11: error: request for member 'r' in something not a structure or union arch/cris/arch-v10/kernel/kgdb.c:636:29: error: 'stack_list' undeclared (first use in this function) arch/cris/arch-v10/kernel/kgdb.c:637:16: error: request for member 'pc' in something not a structure or union arch/cris/arch-v10/kernel/kgdb.c:638:18: error: request for member 'dccr' in something not a structure or union arch/cris/arch-v10/kernel/kgdb.c:639:17: error: request for member 'srp' in something not a structure or union arch/cris/arch-v10/kernel/kgdb.c: In function 'copy_registers_to_stack': arch/cris/arch-v10/kernel/kgdb.c:648:2: error: unknown type name 'stack_registers' arch/cris/arch-v10/kernel/kgdb.c:648:24: error: 'stack_registers' undeclared (first use in this function) arch/cris/arch-v10/kernel/kgdb.c:648:41: error: expected expression before ')' token arch/cris/arch-v10/kernel/kgdb.c:652:4: error: request for member 'r' in something not a structure or union arch/cris/arch-v10/kernel/kgdb.c:654:3: error: request for member 'pc' in something not a structure or union arch/cris/arch-v10/kernel/kgdb.c:655:3: error: request for member 'dccr' in something not a structure or union arch/cris/arch-v10/kernel/kgdb.c:656:3: error: request for member 'srp' in something not a structure or union arch/cris/arch-v10/kernel/kgdb.c: In function 'write_stack_register': arch/cris/arch-v10/kernel/kgdb.c:702:2: error: unknown type name 'stack_registers' arch/cris/arch-v10/kernel/kgdb.c:702:24: error: 'stack_registers' undeclared (first use in this function) arch/cris/arch-v10/kernel/kgdb.c:702:41: error: expected expression before ')' token arch/cris/arch-v10/kernel/kgdb.c:707:4: error: request for member 'r' in something not a structure or union arch/cris/arch-v10/kernel/kgdb.c:710:3: error: 'stack_list' undeclared (first use in this function) arch/cris/arch-v10/kernel/kgdb.c:713:4: error: request for member 'pc' in something not a structure or union arch/cris/arch-v10/kernel/kgdb.c:716:4: error: request for member 'srp' in something not a structure or union arch/cris/arch-v10/kernel/kgdb.c:719:4: error: request for member 'dccr' in something not a structure or union arch/cris/arch-v10/kernel/kgdb.c: In function 'stub_is_stopped': arch/cris/arch-v10/kernel/kgdb.c:827:36: error: 'pos' undeclared (first use in this function) arch/cris/arch-v10/kernel/kgdb.c: In function 'handle_exception': arch/cris/arch-v10/kernel/kgdb.c:1064:40: error: 'number_of_tasks' undeclared (first use in this function) arch/cris/arch-v10/kernel/kgdb.c:1125:8: error: implicit declaration of function 'os_is_started' [-Werror=implicit-function-declaration] Signed-off-by: Geert Uytterhoeven --- arch/cris/arch-v10/kernel/kgdb.c | 257 +-------------------------------------- 1 file changed, 2 insertions(+), 255 deletions(-) (limited to 'arch') diff --git a/arch/cris/arch-v10/kernel/kgdb.c b/arch/cris/arch-v10/kernel/kgdb.c index 0e799073498d..22d846bfc570 100644 --- a/arch/cris/arch-v10/kernel/kgdb.c +++ b/arch/cris/arch-v10/kernel/kgdb.c @@ -341,16 +341,6 @@ static int consistency_status = SUCCESS; in order to provide access mainly for 'g', 'G' and 'P'. */ -#ifdef PROCESS_SUPPORT -/* Need two task id pointers in order to handle Hct and Hgt commands. */ -static int current_thread_c = 0; -static int current_thread_g = 0; - -/* Need two register images in order to handle Hct and Hgt commands. The - variable reg_g is in addition to cris_reg above. */ -static registers reg_g; -#endif /* PROCESS_SUPPORT */ - /********************************** Breakpoint *******************************/ /* Use an internal stack in the breakpoint and interrupt response routines */ #define INTERNAL_STACK_SIZE 1024 @@ -608,55 +598,6 @@ putDebugString (const unsigned char *str, int length) } /********************************* Register image ****************************/ -#ifdef PROCESS_SUPPORT -/* Copy the content of a register image into another. The size n is - the size of the register image. Due to struct assignment generation of - memcpy in libc. */ -static void -copy_registers (registers *dptr, registers *sptr, int n) -{ - unsigned char *dreg; - unsigned char *sreg; - - for (dreg = (unsigned char*)dptr, sreg = (unsigned char*)sptr; n > 0; n--) - *dreg++ = *sreg++; -} - -/* Copy the stored registers from the stack. Put the register contents - of thread thread_id in the struct reg. */ -static void -copy_registers_from_stack (int thread_id, registers *regptr) -{ - int j; - stack_registers *s = (stack_registers *)stack_list[thread_id]; - unsigned int *d = (unsigned int *)regptr; - - for (j = 13; j >= 0; j--) - *d++ = s->r[j]; - regptr->sp = (unsigned int)stack_list[thread_id]; - regptr->pc = s->pc; - regptr->dccr = s->dccr; - regptr->srp = s->srp; -} - -/* Copy the registers to the stack. Put the register contents of thread - thread_id from struct reg to the stack. */ -static void -copy_registers_to_stack (int thread_id, registers *regptr) -{ - int i; - stack_registers *d = (stack_registers *)stack_list[thread_id]; - unsigned int *s = (unsigned int *)regptr; - - for (i = 0; i < 14; i++) { - d->r[i] = *s++; - } - d->pc = regptr->pc; - d->dccr = regptr->dccr; - d->srp = regptr->srp; -} -#endif - /* Write a value to a specified register in the register image of the current thread. Returns status code SUCCESS, E02 or E05. */ static int @@ -692,40 +633,6 @@ write_register (int regno, char *val) return status; } -#ifdef PROCESS_SUPPORT -/* Write a value to a specified register in the stack of a thread other - than the current thread. Returns status code SUCCESS or E07. */ -static int -write_stack_register (int thread_id, int regno, char *valptr) -{ - int status = SUCCESS; - stack_registers *d = (stack_registers *)stack_list[thread_id]; - unsigned int val; - - hex2mem ((unsigned char *)&val, valptr, sizeof(unsigned int)); - if (regno >= R0 && regno < SP) { - d->r[regno] = val; - } - else if (regno == SP) { - stack_list[thread_id] = val; - } - else if (regno == PC) { - d->pc = val; - } - else if (regno == SRP) { - d->srp = val; - } - else if (regno == DCCR) { - d->dccr = val; - } - else { - /* Do not support registers in the current thread. */ - status = E07; - } - return status; -} -#endif - /* Read a value from a specified register in the register image. Returns the value in the register or -1 for non-implemented registers. Should check consistency_status after a call which may be E05 after changes @@ -811,26 +718,6 @@ stub_is_stopped(int sigval) } -#ifdef PROCESS_SUPPORT - /* Store the registers of the executing thread. Assume that both step, - continue, and register content requests are with respect to this - thread. The executing task is from the operating system scheduler. */ - - current_thread_c = executing_task; - current_thread_g = executing_task; - - /* A struct assignment translates into a libc memcpy call. Avoid - all libc functions in order to prevent recursive break points. */ - copy_registers (®_g, &cris_reg, sizeof(registers)); - - /* Store thread:r...; with the executing task TID. */ - gdb_cris_strcpy (&remcomOutBuffer[pos], "thread:"); - pos += gdb_cris_strlen ("thread:"); - remcomOutBuffer[pos++] = hex_asc_hi(executing_task); - remcomOutBuffer[pos++] = hex_asc_lo(executing_task); - gdb_cris_strcpy (&remcomOutBuffer[pos], ";"); -#endif - /* null-terminate and send it off */ *ptr = 0; @@ -865,19 +752,7 @@ handle_exception (int sigval) in a register are in the same order the machine uses. Failure: void. */ - { -#ifdef PROCESS_SUPPORT - /* Use the special register content in the executing thread. */ - copy_registers (®_g, &cris_reg, sizeof(registers)); - /* Replace the content available on the stack. */ - if (current_thread_g != executing_task) { - copy_registers_from_stack (current_thread_g, ®_g); - } - mem2hex ((unsigned char *)remcomOutBuffer, (unsigned char *)®_g, sizeof(registers)); -#else - mem2hex(remcomOutBuffer, (char *)&cris_reg, sizeof(registers)); -#endif - } + mem2hex(remcomOutBuffer, (char *)&cris_reg, sizeof(registers)); break; case 'G': @@ -885,17 +760,7 @@ handle_exception (int sigval) Each byte of register data is described by two hex digits. Success: OK Failure: void. */ -#ifdef PROCESS_SUPPORT - hex2mem ((unsigned char *)®_g, &remcomInBuffer[1], sizeof(registers)); - if (current_thread_g == executing_task) { - copy_registers (&cris_reg, ®_g, sizeof(registers)); - } - else { - copy_registers_to_stack(current_thread_g, ®_g); - } -#else hex2mem((char *)&cris_reg, &remcomInBuffer[1], sizeof(registers)); -#endif gdb_cris_strcpy (remcomOutBuffer, "OK"); break; @@ -911,12 +776,7 @@ handle_exception (int sigval) char *suffix; int regno = gdb_cris_strtol (&remcomInBuffer[1], &suffix, 16); int status; -#ifdef PROCESS_SUPPORT - if (current_thread_g != executing_task) - status = write_stack_register (current_thread_g, regno, suffix+1); - else -#endif - status = write_register (regno, suffix+1); + status = write_register (regno, suffix+1); switch (status) { case E02: @@ -1051,119 +911,6 @@ handle_exception (int sigval) Not supported: E04 */ gdb_cris_strcpy (remcomOutBuffer, error_message[E04]); break; -#ifdef PROCESS_SUPPORT - - case 'T': - /* Thread alive. TXX - Is thread XX alive? - Success: OK, thread XX is alive. - Failure: E03, thread XX is dead. */ - { - int thread_id = (int)gdb_cris_strtol (&remcomInBuffer[1], 0, 16); - /* Cannot tell whether it is alive or not. */ - if (thread_id >= 0 && thread_id < number_of_tasks) - gdb_cris_strcpy (remcomOutBuffer, "OK"); - } - break; - - case 'H': - /* Set thread for subsequent operations: Hct - c = 'c' for thread used in step and continue; - t can be -1 for all threads. - c = 'g' for thread used in other operations. - t = 0 means pick any thread. - Success: OK - Failure: E01 */ - { - int thread_id = gdb_cris_strtol (&remcomInBuffer[2], 0, 16); - if (remcomInBuffer[1] == 'c') { - /* c = 'c' for thread used in step and continue */ - /* Do not change current_thread_c here. It would create a mess in - the scheduler. */ - gdb_cris_strcpy (remcomOutBuffer, "OK"); - } - else if (remcomInBuffer[1] == 'g') { - /* c = 'g' for thread used in other operations. - t = 0 means pick any thread. Impossible since the scheduler does - not allow that. */ - if (thread_id >= 0 && thread_id < number_of_tasks) { - current_thread_g = thread_id; - gdb_cris_strcpy (remcomOutBuffer, "OK"); - } - else { - /* Not expected - send an error message. */ - gdb_cris_strcpy (remcomOutBuffer, error_message[E01]); - } - } - else { - /* Not expected - send an error message. */ - gdb_cris_strcpy (remcomOutBuffer, error_message[E01]); - } - } - break; - - case 'q': - case 'Q': - /* Query of general interest. qXXXX - Set general value XXXX. QXXXX=yyyy */ - { - int pos; - int nextpos; - int thread_id; - - switch (remcomInBuffer[1]) { - case 'C': - /* Identify the remote current thread. */ - gdb_cris_strcpy (&remcomOutBuffer[0], "QC"); - remcomOutBuffer[2] = hex_asc_hi(current_thread_c); - remcomOutBuffer[3] = hex_asc_lo(current_thread_c); - remcomOutBuffer[4] = '\0'; - break; - case 'L': - gdb_cris_strcpy (&remcomOutBuffer[0], "QM"); - /* Reply with number of threads. */ - if (os_is_started()) { - remcomOutBuffer[2] = hex_asc_hi(number_of_tasks); - remcomOutBuffer[3] = hex_asc_lo(number_of_tasks); - } - else { - remcomOutBuffer[2] = hex_asc_hi(0); - remcomOutBuffer[3] = hex_asc_lo(1); - } - /* Done with the reply. */ - remcomOutBuffer[4] = hex_asc_lo(1); - pos = 5; - /* Expects the argument thread id. */ - for (; pos < (5 + HEXCHARS_IN_THREAD_ID); pos++) - remcomOutBuffer[pos] = remcomInBuffer[pos]; - /* Reply with the thread identifiers. */ - if (os_is_started()) { - /* Store the thread identifiers of all tasks. */ - for (thread_id = 0; thread_id < number_of_tasks; thread_id++) { - nextpos = pos + HEXCHARS_IN_THREAD_ID - 1; - for (; pos < nextpos; pos ++) - remcomOutBuffer[pos] = hex_asc_lo(0); - remcomOutBuffer[pos++] = hex_asc_lo(thread_id); - } - } - else { - /* Store the thread identifier of the boot task. */ - nextpos = pos + HEXCHARS_IN_THREAD_ID - 1; - for (; pos < nextpos; pos ++) - remcomOutBuffer[pos] = hex_asc_lo(0); - remcomOutBuffer[pos++] = hex_asc_lo(current_thread_c); - } - remcomOutBuffer[pos] = '\0'; - break; - default: - /* Not supported: "" */ - /* Request information about section offsets: qOffsets. */ - remcomOutBuffer[0] = 0; - break; - } - } - break; -#endif /* PROCESS_SUPPORT */ default: /* The stub should ignore other request and send an empty -- cgit v1.2.3 From 95f40de9df68dd4f618fb4fd141d2471b5ab017a Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Tue, 12 Feb 2013 10:37:14 +0100 Subject: cris: Provide In file included from include/linux/kvm_para.h:4:0, from kernel/watchdog.c:28: include/uapi/linux/kvm_para.h:26:26: fatal error: asm/kvm_para.h: No such file or directory Signed-off-by: Geert Uytterhoeven --- arch/cris/include/asm/Kbuild | 1 + 1 file changed, 1 insertion(+) (limited to 'arch') diff --git a/arch/cris/include/asm/Kbuild b/arch/cris/include/asm/Kbuild index f1e79edc9dd2..74784882e220 100644 --- a/arch/cris/include/asm/Kbuild +++ b/arch/cris/include/asm/Kbuild @@ -5,5 +5,6 @@ header-y += arch-v32/ generic-y += clkdev.h generic-y += exec.h +generic-y += kvm_para.h generic-y += module.h generic-y += trace_clock.h -- cgit v1.2.3 From 0dad16fd4e61b2d3a22ef0ea15ba8369bacf090a Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Tue, 12 Feb 2013 10:45:35 +0100 Subject: cris: Provide inb_p() and outb_p() drivers/block/hd.c: In function 'check_status': drivers/block/hd.c:256:2: error: implicit declaration of function 'inb_p' [-Werror=implicit-function-declaration] drivers/block/hd.c: In function 'controller_ready': drivers/block/hd.c:297:3: error: implicit declaration of function 'outb_p' [-Werror=implicit-function-declaration] Signed-off-by: Geert Uytterhoeven --- arch/cris/include/asm/io.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'arch') diff --git a/arch/cris/include/asm/io.h b/arch/cris/include/asm/io.h index ac12ae2b9286..5d3047e5563b 100644 --- a/arch/cris/include/asm/io.h +++ b/arch/cris/include/asm/io.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 -- cgit v1.2.3 From decd48ccbe6d5a883f400b7b9b797ab7fe228c0d Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Tue, 7 May 2013 10:08:34 +0200 Subject: cris: Switch to asm-generic/linkage.h Signed-off-by: Geert Uytterhoeven Acked-by: Jesper Nilsson --- arch/cris/include/asm/Kbuild | 1 + arch/cris/include/asm/linkage.h | 6 ------ 2 files changed, 1 insertion(+), 6 deletions(-) delete mode 100644 arch/cris/include/asm/linkage.h (limited to 'arch') diff --git a/arch/cris/include/asm/Kbuild b/arch/cris/include/asm/Kbuild index 74784882e220..1e7dfadb8371 100644 --- a/arch/cris/include/asm/Kbuild +++ b/arch/cris/include/asm/Kbuild @@ -6,5 +6,6 @@ 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 diff --git a/arch/cris/include/asm/linkage.h b/arch/cris/include/asm/linkage.h deleted file mode 100644 index 291c2d01c44f..000000000000 --- a/arch/cris/include/asm/linkage.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef __ASM_LINKAGE_H -#define __ASM_LINKAGE_H - -/* Nothing to see here... */ - -#endif -- cgit v1.2.3 From cd07f4f3bb9744034693ff012f640bcacaf5c1c6 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Tue, 14 May 2013 09:25:52 +0200 Subject: cris: Wire up asm-generic/xor.h crypto/xor.c:25:21: fatal error: asm/xor.h: No such file or directory Signed-off-by: Geert Uytterhoeven Acked-by: Jesper Nilsson --- arch/cris/include/asm/Kbuild | 1 + 1 file changed, 1 insertion(+) (limited to 'arch') diff --git a/arch/cris/include/asm/Kbuild b/arch/cris/include/asm/Kbuild index 1e7dfadb8371..0dd4b88a5c72 100644 --- a/arch/cris/include/asm/Kbuild +++ b/arch/cris/include/asm/Kbuild @@ -9,3 +9,4 @@ generic-y += kvm_para.h generic-y += linkage.h generic-y += module.h generic-y += trace_clock.h +generic-y += xor.h -- cgit v1.2.3 From acf836301e4b8f3101c5f83e4a52dbb6c3899314 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Tue, 14 May 2013 13:54:21 +0200 Subject: cris: Switch cris to drivers/Kconfig allmodconfig: drivers/video/console/fonts.c:71:2: error: #error No fonts configured. This is caused by cris not using the generic drivers/Kconfig, and thus not traversing drivers/video/console/Kconfig. As the build system does traverse drivers/video/console/Makefile, fonts.c was compiled with an inconsistent configuration. Signed-off-by: Geert Uytterhoeven --- arch/cris/Kconfig | 32 +------------------------------- arch/cris/arch-v32/drivers/Kconfig | 7 ------- 2 files changed, 1 insertion(+), 38 deletions(-) (limited to 'arch') diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig index 8769a9045a54..9f3c54360e78 100644 --- a/arch/cris/Kconfig +++ b/arch/cris/Kconfig @@ -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" diff --git a/arch/cris/arch-v32/drivers/Kconfig b/arch/cris/arch-v32/drivers/Kconfig index c55971a40c34..f64779c1fb3c 100644 --- a/arch/cris/arch-v32/drivers/Kconfig +++ b/arch/cris/arch-v32/drivers/Kconfig @@ -641,8 +641,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 @@ -834,9 +832,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 -- cgit v1.2.3 From e3ccbc3444b8c8119e63934aeea0c651ed1c41a0 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Wed, 15 May 2013 22:38:12 +0200 Subject: cris: Wire up asm-generic/vga.h When compiling several DRM related files: include/video/vga.h:22:21: fatal error: asm/vga.h: No such file or directory Signed-off-by: Geert Uytterhoeven --- arch/cris/include/asm/Kbuild | 1 + 1 file changed, 1 insertion(+) (limited to 'arch') diff --git a/arch/cris/include/asm/Kbuild b/arch/cris/include/asm/Kbuild index 0dd4b88a5c72..c8325455520e 100644 --- a/arch/cris/include/asm/Kbuild +++ b/arch/cris/include/asm/Kbuild @@ -9,4 +9,5 @@ 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 -- cgit v1.2.3 From c0b81e003678b983fbe652316a83413d59c8032c Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Mon, 6 May 2013 13:50:41 +0200 Subject: frv: head.S - Remove commented-out initialization code The commented-out calls to processor_init() and unit_init() seem to have been copied from mn10300, when starting the frv port. Remove them. Signed-off-by: Geert Uytterhoeven --- arch/frv/kernel/head.S | 5 ----- 1 file changed, 5 deletions(-) (limited to 'arch') diff --git a/arch/frv/kernel/head.S b/arch/frv/kernel/head.S index e9a8cc63ac94..a7d0bea9c036 100644 --- a/arch/frv/kernel/head.S +++ b/arch/frv/kernel/head.S @@ -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 -- cgit v1.2.3 From c805a5b7ca7696bdf96ccd831fe20f7fd2e1b609 Mon Sep 17 00:00:00 2001 From: Jiang Liu Date: Fri, 22 Mar 2013 00:31:44 +0800 Subject: h8300: add missing definition for read_barries_depends() Add missing definition for read_barries_depends() for h8300 to fix error: kernel/task_work.c: In function 'task_work_cancel': kernel/task_work.c:38:3: error: implicit declaration of function 'read_barrier_depends' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[1]: *** [kernel/task_work.o] Error 1 make: *** [kernel] Error 2 Cc: Yoshinori Sato Cc: David Howells Cc: Geert Uytterhoeven Cc: linux-kernel@vger.kernel.org Signed-off-by: Jiang Liu --- arch/h8300/include/asm/barrier.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'arch') diff --git a/arch/h8300/include/asm/barrier.h b/arch/h8300/include/asm/barrier.h index c7283c343c55..9e0aa9fc195d 100644 --- a/arch/h8300/include/asm/barrier.h +++ b/arch/h8300/include/asm/barrier.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() -- cgit v1.2.3 From db5ede6f5e653cc986b3fd6008de970f996d9431 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Mon, 6 May 2013 21:32:46 +0200 Subject: h8300: Hardcode symbol prefixes in asm sources Commit e1b5bb6d1236d4ad2084c53aa83dde7cdf6f8eea ("consolidate cond_syscall and SYSCALL_ALIAS declarations") broke the h8300 build because it removed the duplicate SYMBOL_NAME() macro from arch/h8300/include/asm/linkage.h, and all the h8300 asm files include instead of : arch/h8300/kernel/entry.S: Assembler messages: arch/h8300/kernel/entry.S:158: Error: junk at end of line, first unrecognized character is `(' ... arch/h8300/kernel/syscalls.S: Assembler messages: arch/h8300/kernel/syscalls.S:6: Error: junk at end of line, first unrecognized character is `(' ... arch/h8300/lib/abs.S: Assembler messages: arch/h8300/lib/abs.S:12: Error: junk at end of line, first unrecognized character is `(' ... arch/h8300/lib/memcpy.S: Assembler messages: arch/h8300/lib/memcpy.S:13: Error: junk at end of line, first unrecognized character is `(' ... arch/h8300/lib/memset.S: Assembler messages: arch/h8300/lib/memset.S:13: Error: junk at end of line, first unrecognized character is `(' ... Commit 126de6b20bfb82cc19012d5048f11f339ae5a021 ("linkage.h: fix build breakage due to symbol prefix handling") broke it even more, by removing SYMBOL_NAME() and replacing it by __SYMBOL_NAME(). Commit f8ce1faf55955de62e0a12e330c6d9a526071f65 ("Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linuxkernel/git/rusty/linux") also removed __SYMBOL_NAME(), hidden in a merge conflict resolution. Hence, replace the use of SYMBOL_NAME() and SYMBOL_NAME_LABEL() in h8300 assembler sources by hardcoding the underscore symbol prefix, like other architectures (blackfin/metag) do. This allows to kill SYMBOL_NAME_LABEL(). Now becomes empty, and h8300 can be switched to asm-generic/linkage.h. Signed-off-by: Geert Uytterhoeven --- arch/h8300/include/asm/Kbuild | 1 + arch/h8300/include/asm/linkage.h | 6 - arch/h8300/kernel/entry.S | 118 ++--- arch/h8300/kernel/syscalls.S | 646 +++++++++++------------ arch/h8300/lib/abs.S | 4 +- arch/h8300/lib/memcpy.S | 4 +- arch/h8300/lib/memset.S | 4 +- arch/h8300/platform/h8300h/aki3068net/crt0_ram.S | 16 +- arch/h8300/platform/h8300h/generic/crt0_ram.S | 14 +- arch/h8300/platform/h8300h/generic/crt0_rom.S | 14 +- arch/h8300/platform/h8300h/h8max/crt0_ram.S | 16 +- arch/h8300/platform/h8s/edosk2674/crt0_ram.S | 16 +- arch/h8300/platform/h8s/edosk2674/crt0_rom.S | 14 +- arch/h8300/platform/h8s/generic/crt0_ram.S | 16 +- arch/h8300/platform/h8s/generic/crt0_rom.S | 12 +- 15 files changed, 448 insertions(+), 453 deletions(-) delete mode 100644 arch/h8300/include/asm/linkage.h (limited to 'arch') diff --git a/arch/h8300/include/asm/Kbuild b/arch/h8300/include/asm/Kbuild index 995eb47e01bb..e0bce3028a78 100644 --- a/arch/h8300/include/asm/Kbuild +++ b/arch/h8300/include/asm/Kbuild @@ -1,6 +1,7 @@ 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 diff --git a/arch/h8300/include/asm/linkage.h b/arch/h8300/include/asm/linkage.h deleted file mode 100644 index 1d81604fb0ad..000000000000 --- a/arch/h8300/include/asm/linkage.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _H8300_LINKAGE_H -#define _H8300_LINKAGE_H - -#undef SYMBOL_NAME_LABEL -#define SYMBOL_NAME_LABEL(_name_) _##_name_##: -#endif diff --git a/arch/h8300/kernel/entry.S b/arch/h8300/kernel/entry.S index 617a6878787f..94bd30f11df6 100644 --- a/arch/h8300/kernel/entry.S +++ b/arch/h8300/kernel/entry.S @@ -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 diff --git a/arch/h8300/kernel/syscalls.S b/arch/h8300/kernel/syscalls.S index 5c2168fb9b9e..749700157349 100644 --- a/arch/h8300/kernel/syscalls.S +++ b/arch/h8300/kernel/syscalls.S @@ -2,8 +2,8 @@ #include #include #include - -.globl SYMBOL_NAME(sys_call_table) + +.globl _sys_call_table #if defined(CONFIG_CPU_H8300H) .h8300h @@ -13,324 +13,324 @@ #endif .section .text .align 2 -SYMBOL_NAME_LABEL(sys_call_table) - .long SYMBOL_NAME(sys_ni_syscall) /* 0 - old "setup()" system call*/ - .long SYMBOL_NAME(sys_exit) - .long SYMBOL_NAME(sys_fork) - .long SYMBOL_NAME(sys_read) - .long SYMBOL_NAME(sys_write) - .long SYMBOL_NAME(sys_open) /* 5 */ - .long SYMBOL_NAME(sys_close) - .long SYMBOL_NAME(sys_waitpid) - .long SYMBOL_NAME(sys_creat) - .long SYMBOL_NAME(sys_link) - .long SYMBOL_NAME(sys_unlink) /* 10 */ - .long SYMBOL_NAME(sys_execve) - .long SYMBOL_NAME(sys_chdir) - .long SYMBOL_NAME(sys_time) - .long SYMBOL_NAME(sys_mknod) - .long SYMBOL_NAME(sys_chmod) /* 15 */ - .long SYMBOL_NAME(sys_chown16) - .long SYMBOL_NAME(sys_ni_syscall) /* old break syscall holder */ - .long SYMBOL_NAME(sys_stat) - .long SYMBOL_NAME(sys_lseek) - .long SYMBOL_NAME(sys_getpid) /* 20 */ - .long SYMBOL_NAME(sys_mount) - .long SYMBOL_NAME(sys_oldumount) - .long SYMBOL_NAME(sys_setuid16) - .long SYMBOL_NAME(sys_getuid16) - .long SYMBOL_NAME(sys_stime) /* 25 */ - .long SYMBOL_NAME(sys_ptrace) - .long SYMBOL_NAME(sys_alarm) - .long SYMBOL_NAME(sys_fstat) - .long SYMBOL_NAME(sys_pause) - .long SYMBOL_NAME(sys_utime) /* 30 */ - .long SYMBOL_NAME(sys_ni_syscall) /* old stty syscall holder */ - .long SYMBOL_NAME(sys_ni_syscall) /* old gtty syscall holder */ - .long SYMBOL_NAME(sys_access) - .long SYMBOL_NAME(sys_nice) - .long SYMBOL_NAME(sys_ni_syscall) /* 35 old ftime syscall holder */ - .long SYMBOL_NAME(sys_sync) - .long SYMBOL_NAME(sys_kill) - .long SYMBOL_NAME(sys_rename) - .long SYMBOL_NAME(sys_mkdir) - .long SYMBOL_NAME(sys_rmdir) /* 40 */ - .long SYMBOL_NAME(sys_dup) - .long SYMBOL_NAME(sys_pipe) - .long SYMBOL_NAME(sys_times) - .long SYMBOL_NAME(sys_ni_syscall) /* old prof syscall holder */ - .long SYMBOL_NAME(sys_brk) /* 45 */ - .long SYMBOL_NAME(sys_setgid16) - .long SYMBOL_NAME(sys_getgid16) - .long SYMBOL_NAME(sys_signal) - .long SYMBOL_NAME(sys_geteuid16) - .long SYMBOL_NAME(sys_getegid16) /* 50 */ - .long SYMBOL_NAME(sys_acct) - .long SYMBOL_NAME(sys_umount) /* recycled never used phys() */ - .long SYMBOL_NAME(sys_ni_syscall) /* old lock syscall holder */ - .long SYMBOL_NAME(sys_ioctl) - .long SYMBOL_NAME(sys_fcntl) /* 55 */ - .long SYMBOL_NAME(sys_ni_syscall) /* old mpx syscall holder */ - .long SYMBOL_NAME(sys_setpgid) - .long SYMBOL_NAME(sys_ni_syscall) /* old ulimit syscall holder */ - .long SYMBOL_NAME(sys_ni_syscall) - .long SYMBOL_NAME(sys_umask) /* 60 */ - .long SYMBOL_NAME(sys_chroot) - .long SYMBOL_NAME(sys_ustat) - .long SYMBOL_NAME(sys_dup2) - .long SYMBOL_NAME(sys_getppid) - .long SYMBOL_NAME(sys_getpgrp) /* 65 */ - .long SYMBOL_NAME(sys_setsid) - .long SYMBOL_NAME(sys_sigaction) - .long SYMBOL_NAME(sys_sgetmask) - .long SYMBOL_NAME(sys_ssetmask) - .long SYMBOL_NAME(sys_setreuid16) /* 70 */ - .long SYMBOL_NAME(sys_setregid16) - .long SYMBOL_NAME(sys_sigsuspend) - .long SYMBOL_NAME(sys_sigpending) - .long SYMBOL_NAME(sys_sethostname) - .long SYMBOL_NAME(sys_setrlimit) /* 75 */ - .long SYMBOL_NAME(sys_old_getrlimit) - .long SYMBOL_NAME(sys_getrusage) - .long SYMBOL_NAME(sys_gettimeofday) - .long SYMBOL_NAME(sys_settimeofday) - .long SYMBOL_NAME(sys_getgroups16) /* 80 */ - .long SYMBOL_NAME(sys_setgroups16) - .long SYMBOL_NAME(sys_old_select) - .long SYMBOL_NAME(sys_symlink) - .long SYMBOL_NAME(sys_lstat) - .long SYMBOL_NAME(sys_readlink) /* 85 */ - .long SYMBOL_NAME(sys_uselib) - .long SYMBOL_NAME(sys_swapon) - .long SYMBOL_NAME(sys_reboot) - .long SYMBOL_NAME(sys_old_readdir) - .long SYMBOL_NAME(sys_old_mmap) /* 90 */ - .long SYMBOL_NAME(sys_munmap) - .long SYMBOL_NAME(sys_truncate) - .long SYMBOL_NAME(sys_ftruncate) - .long SYMBOL_NAME(sys_fchmod) - .long SYMBOL_NAME(sys_fchown16) /* 95 */ - .long SYMBOL_NAME(sys_getpriority) - .long SYMBOL_NAME(sys_setpriority) - .long SYMBOL_NAME(sys_ni_syscall) /* old profil syscall holder */ - .long SYMBOL_NAME(sys_statfs) - .long SYMBOL_NAME(sys_fstatfs) /* 100 */ - .long SYMBOL_NAME(sys_ni_syscall) /* ioperm for i386 */ - .long SYMBOL_NAME(sys_socketcall) - .long SYMBOL_NAME(sys_syslog) - .long SYMBOL_NAME(sys_setitimer) - .long SYMBOL_NAME(sys_getitimer) /* 105 */ - .long SYMBOL_NAME(sys_newstat) - .long SYMBOL_NAME(sys_newlstat) - .long SYMBOL_NAME(sys_newfstat) - .long SYMBOL_NAME(sys_ni_syscall) - .long SYMBOL_NAME(sys_ni_syscall) /* iopl for i386 */ /* 110 */ - .long SYMBOL_NAME(sys_vhangup) - .long SYMBOL_NAME(sys_ni_syscall) /* obsolete idle() syscall */ - .long SYMBOL_NAME(sys_ni_syscall) /* vm86old for i386 */ - .long SYMBOL_NAME(sys_wait4) - .long SYMBOL_NAME(sys_swapoff) /* 115 */ - .long SYMBOL_NAME(sys_sysinfo) - .long SYMBOL_NAME(sys_ipc) - .long SYMBOL_NAME(sys_fsync) - .long SYMBOL_NAME(sys_sigreturn) - .long SYMBOL_NAME(sys_clone) /* 120 */ - .long SYMBOL_NAME(sys_setdomainname) - .long SYMBOL_NAME(sys_newuname) - .long SYMBOL_NAME(sys_cacheflush) /* modify_ldt for i386 */ - .long SYMBOL_NAME(sys_adjtimex) - .long SYMBOL_NAME(sys_ni_syscall) /* 125 sys_mprotect */ - .long SYMBOL_NAME(sys_sigprocmask) - .long SYMBOL_NAME(sys_ni_syscall) /* sys_create_module */ - .long SYMBOL_NAME(sys_init_module) - .long SYMBOL_NAME(sys_delete_module) - .long SYMBOL_NAME(sys_ni_syscall) /* 130 sys_get_kernel_syms */ - .long SYMBOL_NAME(sys_quotactl) - .long SYMBOL_NAME(sys_getpgid) - .long SYMBOL_NAME(sys_fchdir) - .long SYMBOL_NAME(sys_bdflush) - .long SYMBOL_NAME(sys_sysfs) /* 135 */ - .long SYMBOL_NAME(sys_personality) - .long SYMBOL_NAME(sys_ni_syscall) /* for afs_syscall */ - .long SYMBOL_NAME(sys_setfsuid16) - .long SYMBOL_NAME(sys_setfsgid16) - .long SYMBOL_NAME(sys_llseek) /* 140 */ - .long SYMBOL_NAME(sys_getdents) - .long SYMBOL_NAME(sys_select) - .long SYMBOL_NAME(sys_flock) - .long SYMBOL_NAME(sys_ni_syscall) /* sys_msync */ - .long SYMBOL_NAME(sys_readv) /* 145 */ - .long SYMBOL_NAME(sys_writev) - .long SYMBOL_NAME(sys_getsid) - .long SYMBOL_NAME(sys_fdatasync) - .long SYMBOL_NAME(sys_sysctl) - .long SYMBOL_NAME(sys_ni_syscall) /* 150 sys_mlock */ - .long SYMBOL_NAME(sys_ni_syscall) /* sys_munlock */ - .long SYMBOL_NAME(sys_ni_syscall) /* sys_mlockall */ - .long SYMBOL_NAME(sys_ni_syscall) /* sys_munlockall */ - .long SYMBOL_NAME(sys_sched_setparam) - .long SYMBOL_NAME(sys_sched_getparam) /* 155 */ - .long SYMBOL_NAME(sys_sched_setscheduler) - .long SYMBOL_NAME(sys_sched_getscheduler) - .long SYMBOL_NAME(sys_sched_yield) - .long SYMBOL_NAME(sys_sched_get_priority_max) - .long SYMBOL_NAME(sys_sched_get_priority_min) /* 160 */ - .long SYMBOL_NAME(sys_sched_rr_get_interval) - .long SYMBOL_NAME(sys_nanosleep) - .long SYMBOL_NAME(sys_ni_syscall) /* sys_mremap */ - .long SYMBOL_NAME(sys_setresuid16) - .long SYMBOL_NAME(sys_getresuid16) /* 165 */ - .long SYMBOL_NAME(sys_ni_syscall) /* for vm86 */ - .long SYMBOL_NAME(sys_ni_syscall) /* sys_query_module */ - .long SYMBOL_NAME(sys_poll) - .long SYMBOL_NAME(sys_ni_syscall) /* old nfsservctl */ - .long SYMBOL_NAME(sys_setresgid16) /* 170 */ - .long SYMBOL_NAME(sys_getresgid16) - .long SYMBOL_NAME(sys_prctl) - .long SYMBOL_NAME(sys_rt_sigreturn) - .long SYMBOL_NAME(sys_rt_sigaction) - .long SYMBOL_NAME(sys_rt_sigprocmask) /* 175 */ - .long SYMBOL_NAME(sys_rt_sigpending) - .long SYMBOL_NAME(sys_rt_sigtimedwait) - .long SYMBOL_NAME(sys_rt_sigqueueinfo) - .long SYMBOL_NAME(sys_rt_sigsuspend) - .long SYMBOL_NAME(sys_pread64) /* 180 */ - .long SYMBOL_NAME(sys_pwrite64) - .long SYMBOL_NAME(sys_lchown16); - .long SYMBOL_NAME(sys_getcwd) - .long SYMBOL_NAME(sys_capget) - .long SYMBOL_NAME(sys_capset) /* 185 */ - .long SYMBOL_NAME(sys_sigaltstack) - .long SYMBOL_NAME(sys_sendfile) - .long SYMBOL_NAME(sys_ni_syscall) /* streams1 */ - .long SYMBOL_NAME(sys_ni_syscall) /* streams2 */ - .long SYMBOL_NAME(sys_vfork) /* 190 */ - .long SYMBOL_NAME(sys_getrlimit) - .long SYMBOL_NAME(sys_mmap_pgoff) - .long SYMBOL_NAME(sys_truncate64) - .long SYMBOL_NAME(sys_ftruncate64) - .long SYMBOL_NAME(sys_stat64) /* 195 */ - .long SYMBOL_NAME(sys_lstat64) - .long SYMBOL_NAME(sys_fstat64) - .long SYMBOL_NAME(sys_chown) - .long SYMBOL_NAME(sys_getuid) - .long SYMBOL_NAME(sys_getgid) /* 200 */ - .long SYMBOL_NAME(sys_geteuid) - .long SYMBOL_NAME(sys_getegid) - .long SYMBOL_NAME(sys_setreuid) - .long SYMBOL_NAME(sys_setregid) - .long SYMBOL_NAME(sys_getgroups) /* 205 */ - .long SYMBOL_NAME(sys_setgroups) - .long SYMBOL_NAME(sys_fchown) - .long SYMBOL_NAME(sys_setresuid) - .long SYMBOL_NAME(sys_getresuid) - .long SYMBOL_NAME(sys_setresgid) /* 210 */ - .long SYMBOL_NAME(sys_getresgid) - .long SYMBOL_NAME(sys_lchown) - .long SYMBOL_NAME(sys_setuid) - .long SYMBOL_NAME(sys_setgid) - .long SYMBOL_NAME(sys_setfsuid) /* 215 */ - .long SYMBOL_NAME(sys_setfsgid) - .long SYMBOL_NAME(sys_pivot_root) - .long SYMBOL_NAME(sys_ni_syscall) - .long SYMBOL_NAME(sys_ni_syscall) - .long SYMBOL_NAME(sys_getdents64) /* 220 */ - .long SYMBOL_NAME(sys_fcntl64) - .long SYMBOL_NAME(sys_ni_syscall) /* reserved TUX */ - .long SYMBOL_NAME(sys_ni_syscall) /* reserved Security */ - .long SYMBOL_NAME(sys_gettid) - .long SYMBOL_NAME(sys_readahead) /* 225 */ - .long SYMBOL_NAME(sys_setxattr) - .long SYMBOL_NAME(sys_lsetxattr) - .long SYMBOL_NAME(sys_fsetxattr) - .long SYMBOL_NAME(sys_getxattr) - .long SYMBOL_NAME(sys_lgetxattr) /* 230 */ - .long SYMBOL_NAME(sys_fgetxattr) - .long SYMBOL_NAME(sys_listxattr) - .long SYMBOL_NAME(sys_llistxattr) - .long SYMBOL_NAME(sys_flistxattr) - .long SYMBOL_NAME(sys_removexattr) /* 235 */ - .long SYMBOL_NAME(sys_lremovexattr) - .long SYMBOL_NAME(sys_fremovexattr) - .long SYMBOL_NAME(sys_tkill) - .long SYMBOL_NAME(sys_sendfile64) - .long SYMBOL_NAME(sys_futex) /* 240 */ - .long SYMBOL_NAME(sys_sched_setaffinity) - .long SYMBOL_NAME(sys_sched_getaffinity) - .long SYMBOL_NAME(sys_ni_syscall) - .long SYMBOL_NAME(sys_ni_syscall) - .long SYMBOL_NAME(sys_io_setup) /* 245 */ - .long SYMBOL_NAME(sys_io_destroy) - .long SYMBOL_NAME(sys_io_getevents) - .long SYMBOL_NAME(sys_io_submit) - .long SYMBOL_NAME(sys_io_cancel) - .long SYMBOL_NAME(sys_fadvise64) /* 250 */ - .long SYMBOL_NAME(sys_ni_syscall) - .long SYMBOL_NAME(sys_exit_group) - .long SYMBOL_NAME(sys_lookup_dcookie) - .long SYMBOL_NAME(sys_epoll_create) - .long SYMBOL_NAME(sys_epoll_ctl) /* 255 */ - .long SYMBOL_NAME(sys_epoll_wait) - .long SYMBOL_NAME(sys_ni_syscall) /* sys_remap_file_pages */ - .long SYMBOL_NAME(sys_set_tid_address) - .long SYMBOL_NAME(sys_timer_create) - .long SYMBOL_NAME(sys_timer_settime) /* 260 */ - .long SYMBOL_NAME(sys_timer_gettime) - .long SYMBOL_NAME(sys_timer_getoverrun) - .long SYMBOL_NAME(sys_timer_delete) - .long SYMBOL_NAME(sys_clock_settime) - .long SYMBOL_NAME(sys_clock_gettime) /* 265 */ - .long SYMBOL_NAME(sys_clock_getres) - .long SYMBOL_NAME(sys_clock_nanosleep) - .long SYMBOL_NAME(sys_statfs64) - .long SYMBOL_NAME(sys_fstatfs64) - .long SYMBOL_NAME(sys_tgkill) /* 270 */ - .long SYMBOL_NAME(sys_utimes) - .long SYMBOL_NAME(sys_fadvise64_64) - .long SYMBOL_NAME(sys_ni_syscall) /* sys_vserver */ - .long SYMBOL_NAME(sys_ni_syscall) - .long SYMBOL_NAME(sys_get_mempolicy) /* 275 */ - .long SYMBOL_NAME(sys_set_mempolicy) - .long SYMBOL_NAME(sys_mq_open) - .long SYMBOL_NAME(sys_mq_unlink) - .long SYMBOL_NAME(sys_mq_timedsend) - .long SYMBOL_NAME(sys_mq_timedreceive) /* 280 */ - .long SYMBOL_NAME(sys_mq_notify) - .long SYMBOL_NAME(sys_mq_getsetattr) - .long SYMBOL_NAME(sys_waitid) - .long SYMBOL_NAME(sys_ni_syscall) /* sys_kexec_load */ - .long SYMBOL_NAME(sys_add_key) /* 285 */ - .long SYMBOL_NAME(sys_request_key) - .long SYMBOL_NAME(sys_keyctl) - .long SYMBOL_NAME(sys_ioprio_set) - .long SYMBOL_NAME(sys_ioprio_get) /* 290 */ - .long SYMBOL_NAME(sys_inotify_init) - .long SYMBOL_NAME(sys_inotify_add_watch) - .long SYMBOL_NAME(sys_inotify_rm_watch) - .long SYMBOL_NAME(sys_migrate_pages) - .long SYMBOL_NAME(sys_openat) /* 295 */ - .long SYMBOL_NAME(sys_mkdirat) - .long SYMBOL_NAME(sys_mknodat) - .long SYMBOL_NAME(sys_fchownat) - .long SYMBOL_NAME(sys_futimesat) - .long SYMBOL_NAME(sys_fstatat64) /* 300 */ - .long SYMBOL_NAME(sys_unlinkat) - .long SYMBOL_NAME(sys_renameat) - .long SYMBOL_NAME(sys_linkat) - .long SYMBOL_NAME(sys_symlinkat) - .long SYMBOL_NAME(sys_readlinkat) /* 305 */ - .long SYMBOL_NAME(sys_fchmodat) - .long SYMBOL_NAME(sys_faccessat) - .long SYMBOL_NAME(sys_ni_syscall) /* sys_pselect6 */ - .long SYMBOL_NAME(sys_ni_syscall) /* sys_ppoll */ - .long SYMBOL_NAME(sys_unshare) /* 310 */ - .long SYMBOL_NAME(sys_set_robust_list) - .long SYMBOL_NAME(sys_get_robust_list) - .long SYMBOL_NAME(sys_splice) - .long SYMBOL_NAME(sys_sync_file_range) - .long SYMBOL_NAME(sys_tee) /* 315 */ - .long SYMBOL_NAME(sys_vmsplice) - .long SYMBOL_NAME(sys_ni_syscall) /* sys_move_pages */ - .long SYMBOL_NAME(sys_getcpu) - .long SYMBOL_NAME(sys_ni_syscall) /* sys_epoll_pwait */ - .long SYMBOL_NAME(sys_setns) /* 320 */ +_sys_call_table: + .long _sys_ni_syscall /* 0 - old "setup()" system call*/ + .long _sys_exit + .long _sys_fork + .long _sys_read + .long _sys_write + .long _sys_open /* 5 */ + .long _sys_close + .long _sys_waitpid + .long _sys_creat + .long _sys_link + .long _sys_unlink /* 10 */ + .long _sys_execve + .long _sys_chdir + .long _sys_time + .long _sys_mknod + .long _sys_chmod /* 15 */ + .long _sys_chown16 + .long _sys_ni_syscall /* old break syscall holder */ + .long _sys_stat + .long _sys_lseek + .long _sys_getpid /* 20 */ + .long _sys_mount + .long _sys_oldumount + .long _sys_setuid16 + .long _sys_getuid16 + .long _sys_stime /* 25 */ + .long _sys_ptrace + .long _sys_alarm + .long _sys_fstat + .long _sys_pause + .long _sys_utime /* 30 */ + .long _sys_ni_syscall /* old stty syscall holder */ + .long _sys_ni_syscall /* old gtty syscall holder */ + .long _sys_access + .long _sys_nice + .long _sys_ni_syscall /* 35 old ftime syscall holder */ + .long _sys_sync + .long _sys_kill + .long _sys_rename + .long _sys_mkdir + .long _sys_rmdir /* 40 */ + .long _sys_dup + .long _sys_pipe + .long _sys_times + .long _sys_ni_syscall /* old prof syscall holder */ + .long _sys_brk /* 45 */ + .long _sys_setgid16 + .long _sys_getgid16 + .long _sys_signal + .long _sys_geteuid16 + .long _sys_getegid16 /* 50 */ + .long _sys_acct + .long _sys_umount /* recycled never used phys() */ + .long _sys_ni_syscall /* old lock syscall holder */ + .long _sys_ioctl + .long _sys_fcntl /* 55 */ + .long _sys_ni_syscall /* old mpx syscall holder */ + .long _sys_setpgid + .long _sys_ni_syscall /* old ulimit syscall holder */ + .long _sys_ni_syscall + .long _sys_umask /* 60 */ + .long _sys_chroot + .long _sys_ustat + .long _sys_dup2 + .long _sys_getppid + .long _sys_getpgrp /* 65 */ + .long _sys_setsid + .long _sys_sigaction + .long _sys_sgetmask + .long _sys_ssetmask + .long _sys_setreuid16 /* 70 */ + .long _sys_setregid16 + .long _sys_sigsuspend + .long _sys_sigpending + .long _sys_sethostname + .long _sys_setrlimit /* 75 */ + .long _sys_old_getrlimit + .long _sys_getrusage + .long _sys_gettimeofday + .long _sys_settimeofday + .long _sys_getgroups16 /* 80 */ + .long _sys_setgroups16 + .long _sys_old_select + .long _sys_symlink + .long _sys_lstat + .long _sys_readlink /* 85 */ + .long _sys_uselib + .long _sys_swapon + .long _sys_reboot + .long _sys_old_readdir + .long _sys_old_mmap /* 90 */ + .long _sys_munmap + .long _sys_truncate + .long _sys_ftruncate + .long _sys_fchmod + .long _sys_fchown16 /* 95 */ + .long _sys_getpriority + .long _sys_setpriority + .long _sys_ni_syscall /* old profil syscall holder */ + .long _sys_statfs + .long _sys_fstatfs /* 100 */ + .long _sys_ni_syscall /* ioperm for i386 */ + .long _sys_socketcall + .long _sys_syslog + .long _sys_setitimer + .long _sys_getitimer /* 105 */ + .long _sys_newstat + .long _sys_newlstat + .long _sys_newfstat + .long _sys_ni_syscall + .long _sys_ni_syscall /* iopl for i386 */ /* 110 */ + .long _sys_vhangup + .long _sys_ni_syscall /* obsolete idle() syscall */ + .long _sys_ni_syscall /* vm86old for i386 */ + .long _sys_wait4 + .long _sys_swapoff /* 115 */ + .long _sys_sysinfo + .long _sys_ipc + .long _sys_fsync + .long _sys_sigreturn + .long _sys_clone /* 120 */ + .long _sys_setdomainname + .long _sys_newuname + .long _sys_cacheflush /* modify_ldt for i386 */ + .long _sys_adjtimex + .long _sys_ni_syscall /* 125 sys_mprotect */ + .long _sys_sigprocmask + .long _sys_ni_syscall /* sys_create_module */ + .long _sys_init_module + .long _sys_delete_module + .long _sys_ni_syscall /* 130 sys_get_kernel_syms */ + .long _sys_quotactl + .long _sys_getpgid + .long _sys_fchdir + .long _sys_bdflush + .long _sys_sysfs /* 135 */ + .long _sys_personality + .long _sys_ni_syscall /* for afs_syscall */ + .long _sys_setfsuid16 + .long _sys_setfsgid16 + .long _sys_llseek /* 140 */ + .long _sys_getdents + .long _sys_select + .long _sys_flock + .long _sys_ni_syscall /* sys_msync */ + .long _sys_readv /* 145 */ + .long _sys_writev + .long _sys_getsid + .long _sys_fdatasync + .long _sys_sysctl + .long _sys_ni_syscall /* 150 sys_mlock */ + .long _sys_ni_syscall /* sys_munlock */ + .long _sys_ni_syscall /* sys_mlockall */ + .long _sys_ni_syscall /* sys_munlockall */ + .long _sys_sched_setparam + .long _sys_sched_getparam /* 155 */ + .long _sys_sched_setscheduler + .long _sys_sched_getscheduler + .long _sys_sched_yield + .long _sys_sched_get_priority_max + .long _sys_sched_get_priority_min /* 160 */ + .long _sys_sched_rr_get_interval + .long _sys_nanosleep + .long _sys_ni_syscall /* sys_mremap */ + .long _sys_setresuid16 + .long _sys_getresuid16 /* 165 */ + .long _sys_ni_syscall /* for vm86 */ + .long _sys_ni_syscall /* sys_query_module */ + .long _sys_poll + .long _sys_ni_syscall /* old nfsservctl */ + .long _sys_setresgid16 /* 170 */ + .long _sys_getresgid16 + .long _sys_prctl + .long _sys_rt_sigreturn + .long _sys_rt_sigaction + .long _sys_rt_sigprocmask /* 175 */ + .long _sys_rt_sigpending + .long _sys_rt_sigtimedwait + .long _sys_rt_sigqueueinfo + .long _sys_rt_sigsuspend + .long _sys_pread64 /* 180 */ + .long _sys_pwrite64 + .long _sys_lchown16; + .long _sys_getcwd + .long _sys_capget + .long _sys_capset /* 185 */ + .long _sys_sigaltstack + .long _sys_sendfile + .long _sys_ni_syscall /* streams1 */ + .long _sys_ni_syscall /* streams2 */ + .long _sys_vfork /* 190 */ + .long _sys_getrlimit + .long _sys_mmap_pgoff + .long _sys_truncate64 + .long _sys_ftruncate64 + .long _sys_stat64 /* 195 */ + .long _sys_lstat64 + .long _sys_fstat64 + .long _sys_chown + .long _sys_getuid + .long _sys_getgid /* 200 */ + .long _sys_geteuid + .long _sys_getegid + .long _sys_setreuid + .long _sys_setregid + .long _sys_getgroups /* 205 */ + .long _sys_setgroups + .long _sys_fchown + .long _sys_setresuid + .long _sys_getresuid + .long _sys_setresgid /* 210 */ + .long _sys_getresgid + .long _sys_lchown + .long _sys_setuid + .long _sys_setgid + .long _sys_setfsuid /* 215 */ + .long _sys_setfsgid + .long _sys_pivot_root + .long _sys_ni_syscall + .long _sys_ni_syscall + .long _sys_getdents64 /* 220 */ + .long _sys_fcntl64 + .long _sys_ni_syscall /* reserved TUX */ + .long _sys_ni_syscall /* reserved Security */ + .long _sys_gettid + .long _sys_readahead /* 225 */ + .long _sys_setxattr + .long _sys_lsetxattr + .long _sys_fsetxattr + .long _sys_getxattr + .long _sys_lgetxattr /* 230 */ + .long _sys_fgetxattr + .long _sys_listxattr + .long _sys_llistxattr + .long _sys_flistxattr + .long _sys_removexattr /* 235 */ + .long _sys_lremovexattr + .long _sys_fremovexattr + .long _sys_tkill + .long _sys_sendfile64 + .long _sys_futex /* 240 */ + .long _sys_sched_setaffinity + .long _sys_sched_getaffinity + .long _sys_ni_syscall + .long _sys_ni_syscall + .long _sys_io_setup /* 245 */ + .long _sys_io_destroy + .long _sys_io_getevents + .long _sys_io_submit + .long _sys_io_cancel + .long _sys_fadvise64 /* 250 */ + .long _sys_ni_syscall + .long _sys_exit_group + .long _sys_lookup_dcookie + .long _sys_epoll_create + .long _sys_epoll_ctl /* 255 */ + .long _sys_epoll_wait + .long _sys_ni_syscall /* sys_remap_file_pages */ + .long _sys_set_tid_address + .long _sys_timer_create + .long _sys_timer_settime /* 260 */ + .long _sys_timer_gettime + .long _sys_timer_getoverrun + .long _sys_timer_delete + .long _sys_clock_settime + .long _sys_clock_gettime /* 265 */ + .long _sys_clock_getres + .long _sys_clock_nanosleep + .long _sys_statfs64 + .long _sys_fstatfs64 + .long _sys_tgkill /* 270 */ + .long _sys_utimes + .long _sys_fadvise64_64 + .long _sys_ni_syscall /* sys_vserver */ + .long _sys_ni_syscall + .long _sys_get_mempolicy /* 275 */ + .long _sys_set_mempolicy + .long _sys_mq_open + .long _sys_mq_unlink + .long _sys_mq_timedsend + .long _sys_mq_timedreceive /* 280 */ + .long _sys_mq_notify + .long _sys_mq_getsetattr + .long _sys_waitid + .long _sys_ni_syscall /* sys_kexec_load */ + .long _sys_add_key /* 285 */ + .long _sys_request_key + .long _sys_keyctl + .long _sys_ioprio_set + .long _sys_ioprio_get /* 290 */ + .long _sys_inotify_init + .long _sys_inotify_add_watch + .long _sys_inotify_rm_watch + .long _sys_migrate_pages + .long _sys_openat /* 295 */ + .long _sys_mkdirat + .long _sys_mknodat + .long _sys_fchownat + .long _sys_futimesat + .long _sys_fstatat64 /* 300 */ + .long _sys_unlinkat + .long _sys_renameat + .long _sys_linkat + .long _sys_symlinkat + .long _sys_readlinkat /* 305 */ + .long _sys_fchmodat + .long _sys_faccessat + .long _sys_ni_syscall /* sys_pselect6 */ + .long _sys_ni_syscall /* sys_ppoll */ + .long _sys_unshare /* 310 */ + .long _sys_set_robust_list + .long _sys_get_robust_list + .long _sys_splice + .long _sys_sync_file_range + .long _sys_tee /* 315 */ + .long _sys_vmsplice + .long _sys_ni_syscall /* sys_move_pages */ + .long _sys_getcpu + .long _sys_ni_syscall /* sys_epoll_pwait */ + .long _sys_setns /* 320 */ diff --git a/arch/h8300/lib/abs.S b/arch/h8300/lib/abs.S index cabdd46b41db..ddd1fb3d01ad 100644 --- a/arch/h8300/lib/abs.S +++ b/arch/h8300/lib/abs.S @@ -9,10 +9,10 @@ .h8300s #endif .text -.global SYMBOL_NAME(abs) +.global _abs ;;; int abs(int n) -SYMBOL_NAME_LABEL(abs) +_abs: mov.l er0,er0 bpl 1f neg.l er0 diff --git a/arch/h8300/lib/memcpy.S b/arch/h8300/lib/memcpy.S index fdcbc1ee673c..cad325e2c0e8 100644 --- a/arch/h8300/lib/memcpy.S +++ b/arch/h8300/lib/memcpy.S @@ -10,10 +10,10 @@ #endif .text -.global SYMBOL_NAME(memcpy) +.global _memcpy ;;; void *memcpy(void *to, void *from, size_t n) -SYMBOL_NAME_LABEL(memcpy) +_memcpy: mov.l er2,er2 bne 1f rts diff --git a/arch/h8300/lib/memset.S b/arch/h8300/lib/memset.S index 59abdf9485a5..4549a64c5b79 100644 --- a/arch/h8300/lib/memset.S +++ b/arch/h8300/lib/memset.S @@ -10,13 +10,13 @@ #endif .text -.global SYMBOL_NAME(memset) +.global _memset ;;void *memset(*ptr, int c, size_t count) ;; ptr = er0 ;; c = er1(r1l) ;; count = er2 -SYMBOL_NAME_LABEL(memset) +_memset: btst #0,r0l beq 2f diff --git a/arch/h8300/platform/h8300h/aki3068net/crt0_ram.S b/arch/h8300/platform/h8300h/aki3068net/crt0_ram.S index ecaeb31ae9a4..b2ad0f2d0417 100644 --- a/arch/h8300/platform/h8300h/aki3068net/crt0_ram.S +++ b/arch/h8300/platform/h8300h/aki3068net/crt0_ram.S @@ -22,10 +22,10 @@ #define RAMEND CONFIG_BLKDEV_RESERVE_ADDRESS #endif - .global SYMBOL_NAME(_start) - .global SYMBOL_NAME(command_line) - .global SYMBOL_NAME(_platform_gpio_table) - .global SYMBOL_NAME(_target_name) + .global __start + .global _command_line + .global __platform_gpio_table + .global __target_name .h8300h @@ -33,7 +33,7 @@ .file "crt0_ram.S" /* CPU Reset entry */ -SYMBOL_NAME_LABEL(_start) +__start: mov.l #RAMEND,sp ldc #0x80,ccr @@ -59,13 +59,13 @@ SYMBOL_NAME_LABEL(_start) /* copy kernel commandline */ mov.l #COMMAND_START,er5 - mov.l #SYMBOL_NAME(command_line),er6 + mov.l #_command_line,er6 mov.w #512,r4 eepmov.w /* uClinux kernel start */ ldc #0x90,ccr /* running kernel */ - mov.l #SYMBOL_NAME(init_thread_union),sp + mov.l #_init_thread_union,sp add.l #0x2000,sp jsr @_start_kernel _exit: @@ -107,4 +107,4 @@ __target_name: .asciz "AE-3068" .section .bootvec,"ax" - jmp @SYMBOL_NAME(_start) + jmp @__start diff --git a/arch/h8300/platform/h8300h/generic/crt0_ram.S b/arch/h8300/platform/h8300h/generic/crt0_ram.S index 80d0e16a4499..5ab7d9c12910 100644 --- a/arch/h8300/platform/h8300h/generic/crt0_ram.S +++ b/arch/h8300/platform/h8300h/generic/crt0_ram.S @@ -22,10 +22,10 @@ #define RAMEND CONFIG_BLKDEV_RESERVE_ADDRESS #endif - .global SYMBOL_NAME(_start) - .global SYMBOL_NAME(command_line) - .global SYMBOL_NAME(_platform_gpio_table) - .global SYMBOL_NAME(_target_name) + .global __start + .global _command_line + .global __platform_gpio_table + .global __target_name .h8300h @@ -33,7 +33,7 @@ .file "crt0_ram.S" /* CPU Reset entry */ -SYMBOL_NAME_LABEL(_start) +__start: mov.l #RAMEND,sp ldc #0x80,ccr @@ -59,13 +59,13 @@ SYMBOL_NAME_LABEL(_start) /* copy kernel commandline */ mov.l #COMMAND_START,er5 - mov.l #SYMBOL_NAME(command_line),er6 + mov.l #_command_line,er6 mov.w #512,r4 eepmov.w /* uClinux kernel start */ ldc #0x90,ccr /* running kernel */ - mov.l #SYMBOL_NAME(init_thread_union),sp + mov.l #_init_thread_union,sp add.l #0x2000,sp jsr @_start_kernel _exit: diff --git a/arch/h8300/platform/h8300h/generic/crt0_rom.S b/arch/h8300/platform/h8300h/generic/crt0_rom.S index 120add7ca832..dda1dfa15a5e 100644 --- a/arch/h8300/platform/h8300h/generic/crt0_rom.S +++ b/arch/h8300/platform/h8300h/generic/crt0_rom.S @@ -12,17 +12,17 @@ #include - .global SYMBOL_NAME(_start) - .global SYMBOL_NAME(_command_line) - .global SYMBOL_NAME(_platform_gpio_table) - .global SYMBOL_NAME(_target_name) + .global __start + .global __command_line + .global __platform_gpio_table + .global __target_name .h8300h .section .text .file "crt0_rom.S" /* CPU Reset entry */ -SYMBOL_NAME_LABEL(_start) +__start: mov.l #__ramend,sp ldc #0x80,ccr @@ -60,13 +60,13 @@ SYMBOL_NAME_LABEL(_start) /* copy kernel commandline */ mov.l #COMMAND_START,er5 - mov.l #SYMBOL_NAME(_command_line),er6 + mov.l #__command_line,er6 mov.w #512,r4 eepmov.w /* linux kernel start */ ldc #0x90,ccr /* running kernel */ - mov.l #SYMBOL_NAME(init_thread_union),sp + mov.l #_init_thread_union,sp add.l #0x2000,sp jsr @_start_kernel _exit: diff --git a/arch/h8300/platform/h8300h/h8max/crt0_ram.S b/arch/h8300/platform/h8300h/h8max/crt0_ram.S index efcbefb91b67..6a0d4e2d9ec6 100644 --- a/arch/h8300/platform/h8300h/h8max/crt0_ram.S +++ b/arch/h8300/platform/h8300h/h8max/crt0_ram.S @@ -22,10 +22,10 @@ #define RAMEND CONFIG_BLKDEV_RESERVE_ADDRESS #endif - .global SYMBOL_NAME(_start) - .global SYMBOL_NAME(command_line) - .global SYMBOL_NAME(_platform_gpio_table) - .global SYMBOL_NAME(_target_name) + .global __start + .global _command_line + .global __platform_gpio_table + .global __target_name .h8300h @@ -33,7 +33,7 @@ .file "crt0_ram.S" /* CPU Reset entry */ -SYMBOL_NAME_LABEL(_start) +__start: mov.l #RAMEND,sp ldc #0x80,ccr @@ -59,13 +59,13 @@ SYMBOL_NAME_LABEL(_start) /* copy kernel commandline */ mov.l #COMMAND_START,er5 - mov.l #SYMBOL_NAME(command_line),er6 + mov.l #_command_line,er6 mov.w #512,r4 eepmov.w /* uClinux kernel start */ ldc #0x90,ccr /* running kernel */ - mov.l #SYMBOL_NAME(init_thread_union),sp + mov.l #_init_thread_union,sp add.l #0x2000,sp jsr @_start_kernel _exit: @@ -107,4 +107,4 @@ __target_name: .asciz "H8MAX" .section .bootvec,"ax" - jmp @SYMBOL_NAME(_start) + jmp @__start diff --git a/arch/h8300/platform/h8s/edosk2674/crt0_ram.S b/arch/h8300/platform/h8s/edosk2674/crt0_ram.S index d12b0debe478..5ed191b37cde 100644 --- a/arch/h8300/platform/h8s/edosk2674/crt0_ram.S +++ b/arch/h8300/platform/h8s/edosk2674/crt0_ram.S @@ -23,10 +23,10 @@ #define RAMEND CONFIG_BLKDEV_RESERVE_ADDRESS #endif - .global SYMBOL_NAME(_start) - .global SYMBOL_NAME(_command_line) - .global SYMBOL_NAME(_platform_gpio_table) - .global SYMBOL_NAME(_target_name) + .global __start + .global __command_line + .global __platform_gpio_table + .global __target_name .h8300s @@ -34,7 +34,7 @@ .file "crt0_ram.S" /* CPU Reset entry */ -SYMBOL_NAME_LABEL(_start) +__start: mov.l #RAMEND,sp ldc #0x80,ccr ldc #0x00,exr @@ -66,13 +66,13 @@ SYMBOL_NAME_LABEL(_start) /* copy kernel commandline */ mov.l #COMMAND_START,er5 - mov.l #SYMBOL_NAME(command_line),er6 + mov.l #_command_line,er6 mov.w #512,r4 eepmov.w /* uClinux kernel start */ ldc #0x90,ccr /* running kernel */ - mov.l #SYMBOL_NAME(init_thread_union),sp + mov.l #_init_thread_union,sp add.l #0x2000,sp jsr @_start_kernel _exit: @@ -127,4 +127,4 @@ __target_name: .asciz "EDOSK-2674" .section .bootvec,"ax" - jmp @SYMBOL_NAME(_start) + jmp @__start diff --git a/arch/h8300/platform/h8s/edosk2674/crt0_rom.S b/arch/h8300/platform/h8s/edosk2674/crt0_rom.S index c03d23c6fe12..06d1d7f324ca 100644 --- a/arch/h8300/platform/h8s/edosk2674/crt0_rom.S +++ b/arch/h8300/platform/h8s/edosk2674/crt0_rom.S @@ -13,17 +13,17 @@ #include #include - .global SYMBOL_NAME(_start) - .global SYMBOL_NAME(_command_line) - .global SYMBOL_NAME(_platform_gpio_table) - .global SYMBOL_NAME(_target_name) + .global __start + .global __command_line + .global __platform_gpio_table + .global __target_name .h8300s .section .text .file "crt0_rom.S" /* CPU Reset entry */ -SYMBOL_NAME_LABEL(_start) +__start: mov.l #__ramend,sp ldc #0x80,ccr ldc #0,exr @@ -82,13 +82,13 @@ SYMBOL_NAME_LABEL(_start) /* copy kernel commandline */ mov.l #COMMAND_START,er5 - mov.l #SYMBOL_NAME(_command_line),er6 + mov.l #__command_line,er6 mov.w #512,r4 eepmov.w /* linux kernel start */ ldc #0x90,ccr /* running kernel */ - mov.l #SYMBOL_NAME(init_thread_union),sp + mov.l #_init_thread_union,sp add.l #0x2000,sp jsr @_start_kernel _exit: diff --git a/arch/h8300/platform/h8s/generic/crt0_ram.S b/arch/h8300/platform/h8s/generic/crt0_ram.S index b04541069976..7018915de74f 100644 --- a/arch/h8300/platform/h8s/generic/crt0_ram.S +++ b/arch/h8300/platform/h8s/generic/crt0_ram.S @@ -23,10 +23,10 @@ #define RAMEND CONFIG_BLKDEV_RESERVE_ADDRESS #endif - .global SYMBOL_NAME(_start) - .global SYMBOL_NAME(_command_line) - .global SYMBOL_NAME(_platform_gpio_table) - .global SYMBOL_NAME(_target_name) + .global __start + .global __command_line + .global __platform_gpio_table + .global __target_name .h8300s @@ -34,7 +34,7 @@ .file "crt0_ram.S" /* CPU Reset entry */ -SYMBOL_NAME_LABEL(_start) +__start: mov.l #RAMEND,sp ldc #0x80,ccr ldc #0x00,exr @@ -63,13 +63,13 @@ SYMBOL_NAME_LABEL(_start) /* copy kernel commandline */ mov.l #COMMAND_START,er5 - mov.l #SYMBOL_NAME(command_line),er6 + mov.l #_command_line,er6 mov.w #512,r4 eepmov.w /* uClinux kernel start */ ldc #0x90,ccr /* running kernel */ - mov.l #SYMBOL_NAME(init_thread_union),sp + mov.l #_init_thread_union,sp add.l #0x2000,sp jsr @_start_kernel _exit: @@ -124,4 +124,4 @@ __target_name: .asciz "generic" .section .bootvec,"ax" - jmp @SYMBOL_NAME(_start) + jmp @__start diff --git a/arch/h8300/platform/h8s/generic/crt0_rom.S b/arch/h8300/platform/h8s/generic/crt0_rom.S index 95b6f2898f52..623ba7828193 100644 --- a/arch/h8300/platform/h8s/generic/crt0_rom.S +++ b/arch/h8300/platform/h8s/generic/crt0_rom.S @@ -13,17 +13,17 @@ #include #include - .global SYMBOL_NAME(_start) - .global SYMBOL_NAME(_command_line) - .global SYMBOL_NAME(_platform_gpio_table) - .global SYMBOL_NAME(_target_name) + .global __start + .global __command_line + .global __platform_gpio_table + .global __target_name .h8300s .section .text .file "crt0_rom.S" /* CPU Reset entry */ -SYMBOL_NAME_LABEL(_start) +__start: mov.l #__ramend,sp ldc #0x80,ccr ldc #0,exr @@ -61,7 +61,7 @@ SYMBOL_NAME_LABEL(_start) /* linux kernel start */ ldc #0x90,ccr /* running kernel */ - mov.l #SYMBOL_NAME(init_thread_union),sp + mov.l #_init_thread_union,sp add.l #0x2000,sp jsr @_start_kernel _exit: -- cgit v1.2.3 From 1e2b3bdaa770fa2d6fe8435e57cd2452d91cd18b Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Tue, 7 May 2013 10:27:53 +0200 Subject: h8300: Fix Ten years ago, a mismerge happened, concatenating two slightly different versions of the same file. As a consequence, was never included, leading to a build failure only now: kernel/cpu/idle.c: In function 'cpu_idle_loop': kernel/cpu/idle.c:70:4: error: implicit declaration of function 'check_pgt_cache' [-Werror=implicit-function-declaration] Remove the duplicates, and the header comment with the no longer correct file name. Signed-off-by: Geert Uytterhoeven Acked-by: Yoshinori Sato --- arch/h8300/include/asm/tlb.h | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'arch') diff --git a/arch/h8300/include/asm/tlb.h b/arch/h8300/include/asm/tlb.h index 3dea80ad9e6f..7f0743051ad5 100644 --- a/arch/h8300/include/asm/tlb.h +++ b/arch/h8300/include/asm/tlb.h @@ -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 #endif - -#endif -- cgit v1.2.3 From c949025502698a63990e81f52f424396f3de5409 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Thu, 9 May 2013 22:47:46 +0200 Subject: h8300: Fill the system call table using a CALL() macro The CALL() macro abstracts (a.o.) the underscore symbol prefix. Signed-off-by: Geert Uytterhoeven --- arch/h8300/kernel/syscalls.S | 642 ++++++++++++++++++++++--------------------- 1 file changed, 322 insertions(+), 320 deletions(-) (limited to 'arch') diff --git a/arch/h8300/kernel/syscalls.S b/arch/h8300/kernel/syscalls.S index 749700157349..c55e0ed270d5 100644 --- a/arch/h8300/kernel/syscalls.S +++ b/arch/h8300/kernel/syscalls.S @@ -3,6 +3,8 @@ #include #include +#define CALL(x) .long _ ## x + .globl _sys_call_table #if defined(CONFIG_CPU_H8300H) @@ -14,323 +16,323 @@ .section .text .align 2 _sys_call_table: - .long _sys_ni_syscall /* 0 - old "setup()" system call*/ - .long _sys_exit - .long _sys_fork - .long _sys_read - .long _sys_write - .long _sys_open /* 5 */ - .long _sys_close - .long _sys_waitpid - .long _sys_creat - .long _sys_link - .long _sys_unlink /* 10 */ - .long _sys_execve - .long _sys_chdir - .long _sys_time - .long _sys_mknod - .long _sys_chmod /* 15 */ - .long _sys_chown16 - .long _sys_ni_syscall /* old break syscall holder */ - .long _sys_stat - .long _sys_lseek - .long _sys_getpid /* 20 */ - .long _sys_mount - .long _sys_oldumount - .long _sys_setuid16 - .long _sys_getuid16 - .long _sys_stime /* 25 */ - .long _sys_ptrace - .long _sys_alarm - .long _sys_fstat - .long _sys_pause - .long _sys_utime /* 30 */ - .long _sys_ni_syscall /* old stty syscall holder */ - .long _sys_ni_syscall /* old gtty syscall holder */ - .long _sys_access - .long _sys_nice - .long _sys_ni_syscall /* 35 old ftime syscall holder */ - .long _sys_sync - .long _sys_kill - .long _sys_rename - .long _sys_mkdir - .long _sys_rmdir /* 40 */ - .long _sys_dup - .long _sys_pipe - .long _sys_times - .long _sys_ni_syscall /* old prof syscall holder */ - .long _sys_brk /* 45 */ - .long _sys_setgid16 - .long _sys_getgid16 - .long _sys_signal - .long _sys_geteuid16 - .long _sys_getegid16 /* 50 */ - .long _sys_acct - .long _sys_umount /* recycled never used phys() */ - .long _sys_ni_syscall /* old lock syscall holder */ - .long _sys_ioctl - .long _sys_fcntl /* 55 */ - .long _sys_ni_syscall /* old mpx syscall holder */ - .long _sys_setpgid - .long _sys_ni_syscall /* old ulimit syscall holder */ - .long _sys_ni_syscall - .long _sys_umask /* 60 */ - .long _sys_chroot - .long _sys_ustat - .long _sys_dup2 - .long _sys_getppid - .long _sys_getpgrp /* 65 */ - .long _sys_setsid - .long _sys_sigaction - .long _sys_sgetmask - .long _sys_ssetmask - .long _sys_setreuid16 /* 70 */ - .long _sys_setregid16 - .long _sys_sigsuspend - .long _sys_sigpending - .long _sys_sethostname - .long _sys_setrlimit /* 75 */ - .long _sys_old_getrlimit - .long _sys_getrusage - .long _sys_gettimeofday - .long _sys_settimeofday - .long _sys_getgroups16 /* 80 */ - .long _sys_setgroups16 - .long _sys_old_select - .long _sys_symlink - .long _sys_lstat - .long _sys_readlink /* 85 */ - .long _sys_uselib - .long _sys_swapon - .long _sys_reboot - .long _sys_old_readdir - .long _sys_old_mmap /* 90 */ - .long _sys_munmap - .long _sys_truncate - .long _sys_ftruncate - .long _sys_fchmod - .long _sys_fchown16 /* 95 */ - .long _sys_getpriority - .long _sys_setpriority - .long _sys_ni_syscall /* old profil syscall holder */ - .long _sys_statfs - .long _sys_fstatfs /* 100 */ - .long _sys_ni_syscall /* ioperm for i386 */ - .long _sys_socketcall - .long _sys_syslog - .long _sys_setitimer - .long _sys_getitimer /* 105 */ - .long _sys_newstat - .long _sys_newlstat - .long _sys_newfstat - .long _sys_ni_syscall - .long _sys_ni_syscall /* iopl for i386 */ /* 110 */ - .long _sys_vhangup - .long _sys_ni_syscall /* obsolete idle() syscall */ - .long _sys_ni_syscall /* vm86old for i386 */ - .long _sys_wait4 - .long _sys_swapoff /* 115 */ - .long _sys_sysinfo - .long _sys_ipc - .long _sys_fsync - .long _sys_sigreturn - .long _sys_clone /* 120 */ - .long _sys_setdomainname - .long _sys_newuname - .long _sys_cacheflush /* modify_ldt for i386 */ - .long _sys_adjtimex - .long _sys_ni_syscall /* 125 sys_mprotect */ - .long _sys_sigprocmask - .long _sys_ni_syscall /* sys_create_module */ - .long _sys_init_module - .long _sys_delete_module - .long _sys_ni_syscall /* 130 sys_get_kernel_syms */ - .long _sys_quotactl - .long _sys_getpgid - .long _sys_fchdir - .long _sys_bdflush - .long _sys_sysfs /* 135 */ - .long _sys_personality - .long _sys_ni_syscall /* for afs_syscall */ - .long _sys_setfsuid16 - .long _sys_setfsgid16 - .long _sys_llseek /* 140 */ - .long _sys_getdents - .long _sys_select - .long _sys_flock - .long _sys_ni_syscall /* sys_msync */ - .long _sys_readv /* 145 */ - .long _sys_writev - .long _sys_getsid - .long _sys_fdatasync - .long _sys_sysctl - .long _sys_ni_syscall /* 150 sys_mlock */ - .long _sys_ni_syscall /* sys_munlock */ - .long _sys_ni_syscall /* sys_mlockall */ - .long _sys_ni_syscall /* sys_munlockall */ - .long _sys_sched_setparam - .long _sys_sched_getparam /* 155 */ - .long _sys_sched_setscheduler - .long _sys_sched_getscheduler - .long _sys_sched_yield - .long _sys_sched_get_priority_max - .long _sys_sched_get_priority_min /* 160 */ - .long _sys_sched_rr_get_interval - .long _sys_nanosleep - .long _sys_ni_syscall /* sys_mremap */ - .long _sys_setresuid16 - .long _sys_getresuid16 /* 165 */ - .long _sys_ni_syscall /* for vm86 */ - .long _sys_ni_syscall /* sys_query_module */ - .long _sys_poll - .long _sys_ni_syscall /* old nfsservctl */ - .long _sys_setresgid16 /* 170 */ - .long _sys_getresgid16 - .long _sys_prctl - .long _sys_rt_sigreturn - .long _sys_rt_sigaction - .long _sys_rt_sigprocmask /* 175 */ - .long _sys_rt_sigpending - .long _sys_rt_sigtimedwait - .long _sys_rt_sigqueueinfo - .long _sys_rt_sigsuspend - .long _sys_pread64 /* 180 */ - .long _sys_pwrite64 - .long _sys_lchown16; - .long _sys_getcwd - .long _sys_capget - .long _sys_capset /* 185 */ - .long _sys_sigaltstack - .long _sys_sendfile - .long _sys_ni_syscall /* streams1 */ - .long _sys_ni_syscall /* streams2 */ - .long _sys_vfork /* 190 */ - .long _sys_getrlimit - .long _sys_mmap_pgoff - .long _sys_truncate64 - .long _sys_ftruncate64 - .long _sys_stat64 /* 195 */ - .long _sys_lstat64 - .long _sys_fstat64 - .long _sys_chown - .long _sys_getuid - .long _sys_getgid /* 200 */ - .long _sys_geteuid - .long _sys_getegid - .long _sys_setreuid - .long _sys_setregid - .long _sys_getgroups /* 205 */ - .long _sys_setgroups - .long _sys_fchown - .long _sys_setresuid - .long _sys_getresuid - .long _sys_setresgid /* 210 */ - .long _sys_getresgid - .long _sys_lchown - .long _sys_setuid - .long _sys_setgid - .long _sys_setfsuid /* 215 */ - .long _sys_setfsgid - .long _sys_pivot_root - .long _sys_ni_syscall - .long _sys_ni_syscall - .long _sys_getdents64 /* 220 */ - .long _sys_fcntl64 - .long _sys_ni_syscall /* reserved TUX */ - .long _sys_ni_syscall /* reserved Security */ - .long _sys_gettid - .long _sys_readahead /* 225 */ - .long _sys_setxattr - .long _sys_lsetxattr - .long _sys_fsetxattr - .long _sys_getxattr - .long _sys_lgetxattr /* 230 */ - .long _sys_fgetxattr - .long _sys_listxattr - .long _sys_llistxattr - .long _sys_flistxattr - .long _sys_removexattr /* 235 */ - .long _sys_lremovexattr - .long _sys_fremovexattr - .long _sys_tkill - .long _sys_sendfile64 - .long _sys_futex /* 240 */ - .long _sys_sched_setaffinity - .long _sys_sched_getaffinity - .long _sys_ni_syscall - .long _sys_ni_syscall - .long _sys_io_setup /* 245 */ - .long _sys_io_destroy - .long _sys_io_getevents - .long _sys_io_submit - .long _sys_io_cancel - .long _sys_fadvise64 /* 250 */ - .long _sys_ni_syscall - .long _sys_exit_group - .long _sys_lookup_dcookie - .long _sys_epoll_create - .long _sys_epoll_ctl /* 255 */ - .long _sys_epoll_wait - .long _sys_ni_syscall /* sys_remap_file_pages */ - .long _sys_set_tid_address - .long _sys_timer_create - .long _sys_timer_settime /* 260 */ - .long _sys_timer_gettime - .long _sys_timer_getoverrun - .long _sys_timer_delete - .long _sys_clock_settime - .long _sys_clock_gettime /* 265 */ - .long _sys_clock_getres - .long _sys_clock_nanosleep - .long _sys_statfs64 - .long _sys_fstatfs64 - .long _sys_tgkill /* 270 */ - .long _sys_utimes - .long _sys_fadvise64_64 - .long _sys_ni_syscall /* sys_vserver */ - .long _sys_ni_syscall - .long _sys_get_mempolicy /* 275 */ - .long _sys_set_mempolicy - .long _sys_mq_open - .long _sys_mq_unlink - .long _sys_mq_timedsend - .long _sys_mq_timedreceive /* 280 */ - .long _sys_mq_notify - .long _sys_mq_getsetattr - .long _sys_waitid - .long _sys_ni_syscall /* sys_kexec_load */ - .long _sys_add_key /* 285 */ - .long _sys_request_key - .long _sys_keyctl - .long _sys_ioprio_set - .long _sys_ioprio_get /* 290 */ - .long _sys_inotify_init - .long _sys_inotify_add_watch - .long _sys_inotify_rm_watch - .long _sys_migrate_pages - .long _sys_openat /* 295 */ - .long _sys_mkdirat - .long _sys_mknodat - .long _sys_fchownat - .long _sys_futimesat - .long _sys_fstatat64 /* 300 */ - .long _sys_unlinkat - .long _sys_renameat - .long _sys_linkat - .long _sys_symlinkat - .long _sys_readlinkat /* 305 */ - .long _sys_fchmodat - .long _sys_faccessat - .long _sys_ni_syscall /* sys_pselect6 */ - .long _sys_ni_syscall /* sys_ppoll */ - .long _sys_unshare /* 310 */ - .long _sys_set_robust_list - .long _sys_get_robust_list - .long _sys_splice - .long _sys_sync_file_range - .long _sys_tee /* 315 */ - .long _sys_vmsplice - .long _sys_ni_syscall /* sys_move_pages */ - .long _sys_getcpu - .long _sys_ni_syscall /* sys_epoll_pwait */ - .long _sys_setns /* 320 */ + CALL(sys_ni_syscall) /* 0 - old "setup()" system call*/ + CALL(sys_exit) + CALL(sys_fork) + CALL(sys_read) + CALL(sys_write) + CALL(sys_open) /* 5 */ + CALL(sys_close) + CALL(sys_waitpid) + CALL(sys_creat) + CALL(sys_link) + CALL(sys_unlink) /* 10 */ + CALL(sys_execve) + CALL(sys_chdir) + CALL(sys_time) + CALL(sys_mknod) + CALL(sys_chmod) /* 15 */ + CALL(sys_chown16) + CALL(sys_ni_syscall) /* old break syscall holder */ + CALL(sys_stat) + CALL(sys_lseek) + CALL(sys_getpid) /* 20 */ + CALL(sys_mount) + CALL(sys_oldumount) + CALL(sys_setuid16) + CALL(sys_getuid16) + CALL(sys_stime) /* 25 */ + CALL(sys_ptrace) + CALL(sys_alarm) + CALL(sys_fstat) + CALL(sys_pause) + CALL(sys_utime) /* 30 */ + CALL(sys_ni_syscall) /* old stty syscall holder */ + CALL(sys_ni_syscall) /* old gtty syscall holder */ + CALL(sys_access) + CALL(sys_nice) + CALL(sys_ni_syscall) /* 35 old ftime syscall holder */ + CALL(sys_sync) + CALL(sys_kill) + CALL(sys_rename) + CALL(sys_mkdir) + CALL(sys_rmdir) /* 40 */ + CALL(sys_dup) + CALL(sys_pipe) + CALL(sys_times) + CALL(sys_ni_syscall) /* old prof syscall holder */ + CALL(sys_brk) /* 45 */ + CALL(sys_setgid16) + CALL(sys_getgid16) + CALL(sys_signal) + CALL(sys_geteuid16) + CALL(sys_getegid16) /* 50 */ + CALL(sys_acct) + CALL(sys_umount) /* recycled never used phys() */ + CALL(sys_ni_syscall) /* old lock syscall holder */ + CALL(sys_ioctl) + CALL(sys_fcntl) /* 55 */ + CALL(sys_ni_syscall) /* old mpx syscall holder */ + CALL(sys_setpgid) + CALL(sys_ni_syscall) /* old ulimit syscall holder */ + CALL(sys_ni_syscall) + CALL(sys_umask) /* 60 */ + CALL(sys_chroot) + CALL(sys_ustat) + CALL(sys_dup2) + CALL(sys_getppid) + CALL(sys_getpgrp) /* 65 */ + CALL(sys_setsid) + CALL(sys_sigaction) + CALL(sys_sgetmask) + CALL(sys_ssetmask) + CALL(sys_setreuid16) /* 70 */ + CALL(sys_setregid16) + CALL(sys_sigsuspend) + CALL(sys_sigpending) + CALL(sys_sethostname) + CALL(sys_setrlimit) /* 75 */ + CALL(sys_old_getrlimit) + CALL(sys_getrusage) + CALL(sys_gettimeofday) + CALL(sys_settimeofday) + CALL(sys_getgroups16) /* 80 */ + CALL(sys_setgroups16) + CALL(sys_old_select) + CALL(sys_symlink) + CALL(sys_lstat) + CALL(sys_readlink) /* 85 */ + CALL(sys_uselib) + CALL(sys_swapon) + CALL(sys_reboot) + CALL(sys_old_readdir) + CALL(sys_old_mmap) /* 90 */ + CALL(sys_munmap) + CALL(sys_truncate) + CALL(sys_ftruncate) + CALL(sys_fchmod) + CALL(sys_fchown16) /* 95 */ + CALL(sys_getpriority) + CALL(sys_setpriority) + CALL(sys_ni_syscall) /* old profil syscall holder */ + CALL(sys_statfs) + CALL(sys_fstatfs) /* 100 */ + CALL(sys_ni_syscall) /* ioperm for i386 */ + CALL(sys_socketcall) + CALL(sys_syslog) + CALL(sys_setitimer) + CALL(sys_getitimer) /* 105 */ + CALL(sys_newstat) + CALL(sys_newlstat) + CALL(sys_newfstat) + CALL(sys_ni_syscall) + CALL(sys_ni_syscall) /* iopl for i386 */ /* 110 */ + CALL(sys_vhangup) + CALL(sys_ni_syscall) /* obsolete idle() syscall */ + CALL(sys_ni_syscall) /* vm86old for i386 */ + CALL(sys_wait4) + CALL(sys_swapoff) /* 115 */ + CALL(sys_sysinfo) + CALL(sys_ipc) + CALL(sys_fsync) + CALL(sys_sigreturn) + CALL(sys_clone) /* 120 */ + CALL(sys_setdomainname) + CALL(sys_newuname) + CALL(sys_cacheflush) /* modify_ldt for i386 */ + CALL(sys_adjtimex) + CALL(sys_ni_syscall) /* 125 sys_mprotect */ + CALL(sys_sigprocmask) + CALL(sys_ni_syscall) /* sys_create_module */ + CALL(sys_init_module) + CALL(sys_delete_module) + CALL(sys_ni_syscall) /* 130 sys_get_kernel_syms */ + CALL(sys_quotactl) + CALL(sys_getpgid) + CALL(sys_fchdir) + CALL(sys_bdflush) + CALL(sys_sysfs) /* 135 */ + CALL(sys_personality) + CALL(sys_ni_syscall) /* for afs_syscall */ + CALL(sys_setfsuid16) + CALL(sys_setfsgid16) + CALL(sys_llseek) /* 140 */ + CALL(sys_getdents) + CALL(sys_select) + CALL(sys_flock) + CALL(sys_ni_syscall) /* sys_msync */ + CALL(sys_readv) /* 145 */ + CALL(sys_writev) + CALL(sys_getsid) + CALL(sys_fdatasync) + CALL(sys_sysctl) + CALL(sys_ni_syscall) /* 150 sys_mlock */ + CALL(sys_ni_syscall) /* sys_munlock */ + CALL(sys_ni_syscall) /* sys_mlockall */ + CALL(sys_ni_syscall) /* sys_munlockall */ + CALL(sys_sched_setparam) + CALL(sys_sched_getparam) /* 155 */ + CALL(sys_sched_setscheduler) + CALL(sys_sched_getscheduler) + CALL(sys_sched_yield) + CALL(sys_sched_get_priority_max) + CALL(sys_sched_get_priority_min) /* 160 */ + CALL(sys_sched_rr_get_interval) + CALL(sys_nanosleep) + CALL(sys_ni_syscall) /* sys_mremap */ + CALL(sys_setresuid16) + CALL(sys_getresuid16) /* 165 */ + CALL(sys_ni_syscall) /* for vm86 */ + CALL(sys_ni_syscall) /* sys_query_module */ + CALL(sys_poll) + CALL(sys_ni_syscall) /* old nfsservctl */ + CALL(sys_setresgid16) /* 170 */ + CALL(sys_getresgid16) + CALL(sys_prctl) + CALL(sys_rt_sigreturn) + CALL(sys_rt_sigaction) + CALL(sys_rt_sigprocmask) /* 175 */ + CALL(sys_rt_sigpending) + CALL(sys_rt_sigtimedwait) + CALL(sys_rt_sigqueueinfo) + CALL(sys_rt_sigsuspend) + CALL(sys_pread64) /* 180 */ + CALL(sys_pwrite64) + CALL(sys_lchown16); + CALL(sys_getcwd) + CALL(sys_capget) + CALL(sys_capset) /* 185 */ + CALL(sys_sigaltstack) + CALL(sys_sendfile) + CALL(sys_ni_syscall) /* streams1 */ + CALL(sys_ni_syscall) /* streams2 */ + CALL(sys_vfork) /* 190 */ + CALL(sys_getrlimit) + CALL(sys_mmap_pgoff) + CALL(sys_truncate64) + CALL(sys_ftruncate64) + CALL(sys_stat64) /* 195 */ + CALL(sys_lstat64) + CALL(sys_fstat64) + CALL(sys_chown) + CALL(sys_getuid) + CALL(sys_getgid) /* 200 */ + CALL(sys_geteuid) + CALL(sys_getegid) + CALL(sys_setreuid) + CALL(sys_setregid) + CALL(sys_getgroups) /* 205 */ + CALL(sys_setgroups) + CALL(sys_fchown) + CALL(sys_setresuid) + CALL(sys_getresuid) + CALL(sys_setresgid) /* 210 */ + CALL(sys_getresgid) + CALL(sys_lchown) + CALL(sys_setuid) + CALL(sys_setgid) + CALL(sys_setfsuid) /* 215 */ + CALL(sys_setfsgid) + CALL(sys_pivot_root) + CALL(sys_ni_syscall) + CALL(sys_ni_syscall) + CALL(sys_getdents64) /* 220 */ + CALL(sys_fcntl64) + CALL(sys_ni_syscall) /* reserved TUX */ + CALL(sys_ni_syscall) /* reserved Security */ + CALL(sys_gettid) + CALL(sys_readahead) /* 225 */ + CALL(sys_setxattr) + CALL(sys_lsetxattr) + CALL(sys_fsetxattr) + CALL(sys_getxattr) + CALL(sys_lgetxattr) /* 230 */ + CALL(sys_fgetxattr) + CALL(sys_listxattr) + CALL(sys_llistxattr) + CALL(sys_flistxattr) + CALL(sys_removexattr) /* 235 */ + CALL(sys_lremovexattr) + CALL(sys_fremovexattr) + CALL(sys_tkill) + CALL(sys_sendfile64) + CALL(sys_futex) /* 240 */ + CALL(sys_sched_setaffinity) + CALL(sys_sched_getaffinity) + CALL(sys_ni_syscall) + CALL(sys_ni_syscall) + CALL(sys_io_setup) /* 245 */ + CALL(sys_io_destroy) + CALL(sys_io_getevents) + CALL(sys_io_submit) + CALL(sys_io_cancel) + CALL(sys_fadvise64) /* 250 */ + CALL(sys_ni_syscall) + CALL(sys_exit_group) + CALL(sys_lookup_dcookie) + CALL(sys_epoll_create) + CALL(sys_epoll_ctl) /* 255 */ + CALL(sys_epoll_wait) + CALL(sys_ni_syscall) /* sys_remap_file_pages */ + CALL(sys_set_tid_address) + CALL(sys_timer_create) + CALL(sys_timer_settime) /* 260 */ + CALL(sys_timer_gettime) + CALL(sys_timer_getoverrun) + CALL(sys_timer_delete) + CALL(sys_clock_settime) + CALL(sys_clock_gettime) /* 265 */ + CALL(sys_clock_getres) + CALL(sys_clock_nanosleep) + CALL(sys_statfs64) + CALL(sys_fstatfs64) + CALL(sys_tgkill) /* 270 */ + CALL(sys_utimes) + CALL(sys_fadvise64_64) + CALL(sys_ni_syscall) /* sys_vserver */ + CALL(sys_ni_syscall) + CALL(sys_get_mempolicy) /* 275 */ + CALL(sys_set_mempolicy) + CALL(sys_mq_open) + CALL(sys_mq_unlink) + CALL(sys_mq_timedsend) + CALL(sys_mq_timedreceive) /* 280 */ + CALL(sys_mq_notify) + CALL(sys_mq_getsetattr) + CALL(sys_waitid) + CALL(sys_ni_syscall) /* sys_kexec_load */ + CALL(sys_add_key) /* 285 */ + CALL(sys_request_key) + CALL(sys_keyctl) + CALL(sys_ioprio_set) + CALL(sys_ioprio_get) /* 290 */ + CALL(sys_inotify_init) + CALL(sys_inotify_add_watch) + CALL(sys_inotify_rm_watch) + CALL(sys_migrate_pages) + CALL(sys_openat) /* 295 */ + CALL(sys_mkdirat) + CALL(sys_mknodat) + CALL(sys_fchownat) + CALL(sys_futimesat) + CALL(sys_fstatat64) /* 300 */ + CALL(sys_unlinkat) + CALL(sys_renameat) + CALL(sys_linkat) + CALL(sys_symlinkat) + CALL(sys_readlinkat) /* 305 */ + CALL(sys_fchmodat) + CALL(sys_faccessat) + CALL(sys_ni_syscall) /* sys_pselect6 */ + CALL(sys_ni_syscall) /* sys_ppoll */ + CALL(sys_unshare) /* 310 */ + CALL(sys_set_robust_list) + CALL(sys_get_robust_list) + CALL(sys_splice) + CALL(sys_sync_file_range) + CALL(sys_tee) /* 315 */ + CALL(sys_vmsplice) + CALL(sys_ni_syscall) /* sys_move_pages */ + CALL(sys_getcpu) + CALL(sys_ni_syscall) /* sys_epoll_pwait */ + CALL(sys_setns) /* 320 */ -- cgit v1.2.3 From e71eccdb255e1fc10304f65f6431875e070cc76f Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Tue, 14 May 2013 09:26:03 +0200 Subject: h8300: Wire up asm-generic/xor.h crypto/xor.c:25:21: fatal error: asm/xor.h: No such file or directory Signed-off-by: Geert Uytterhoeven --- arch/h8300/include/asm/Kbuild | 1 + 1 file changed, 1 insertion(+) (limited to 'arch') diff --git a/arch/h8300/include/asm/Kbuild b/arch/h8300/include/asm/Kbuild index e0bce3028a78..8ada3cf0c98d 100644 --- a/arch/h8300/include/asm/Kbuild +++ b/arch/h8300/include/asm/Kbuild @@ -5,3 +5,4 @@ generic-y += linkage.h generic-y += mmu.h generic-y += module.h generic-y += trace_clock.h +generic-y += xor.h -- cgit v1.2.3 From 4e8d1e489be945f31d8cab8d9e8159f5699bb9a2 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Thu, 16 May 2013 15:54:29 +0200 Subject: h8300: Limit timer channel ranges in Kconfig arch/h8300/kernel/timer/itu.c and arch/h8300/kernel/timer/tpu.c only support 0--4 for CONFIG_H8300_ITU_CH resp. H8300_TPU_CH, hence limit them to that range in Kconfig. Signed-off-by: Geert Uytterhoeven --- arch/h8300/Kconfig.cpu | 2 ++ 1 file changed, 2 insertions(+) (limited to 'arch') diff --git a/arch/h8300/Kconfig.cpu b/arch/h8300/Kconfig.cpu index 321f3922728b..c8ea74a29cd3 100644 --- a/arch/h8300/Kconfig.cpu +++ b/arch/h8300/Kconfig.cpu @@ -155,10 +155,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" -- cgit v1.2.3 From 9ac6adbcab11b5fe65fb281bf407527ff23166bc Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Thu, 16 May 2013 18:42:12 +0200 Subject: h8300: Switch h8300 to drivers/Kconfig Convert the last remaining architecture to drivers/Kconfig. Signed-off-by: Geert Uytterhoeven --- arch/h8300/Kconfig | 118 +---------------------------------------------------- 1 file changed, 1 insertion(+), 117 deletions(-) (limited to 'arch') diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig index 303e4f9a79d1..3d6759ee382f 100644 --- a/arch/h8300/Kconfig +++ b/arch/h8300/Kconfig @@ -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-. - - 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/. 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 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" -- cgit v1.2.3 From a4cb378f4b90c4ab452db203d58e8b24328ee37c Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Fri, 17 May 2013 11:05:25 +0200 Subject: h8300: Mark H83002 and H83048 CPU support broken arch/h8300/include/asm/io.h supports only H83007 (H8/3006,3007), H83068 (H8/3065,3066,3067,3068,3069), and H8S2678 (H8S/2670,2673,2674R,2675,2676) CPU types. Hence disable H83002 (H8/3001,3002,3003) and H83048 (H8/3044,3045,3046,3047,3048,3052) CPU support at the Kconfig level. This fixes build failures in allmodconfig/allyesconfig builds, as these always choose the first CPU type (H83002), which was unsupported: arch/h8300/include/asm/io.h:13:2: error: #error UNKNOWN CPU TYPE Signed-off-by: Geert Uytterhoeven --- arch/h8300/Kconfig.cpu | 2 ++ 1 file changed, 2 insertions(+) (limited to 'arch') diff --git a/arch/h8300/Kconfig.cpu b/arch/h8300/Kconfig.cpu index c8ea74a29cd3..cdee771460ed 100644 --- a/arch/h8300/Kconfig.cpu +++ b/arch/h8300/Kconfig.cpu @@ -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 -- cgit v1.2.3 From fbc21c0086f7755553346d734bd6a3d37fe0d8d7 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Sun, 9 Jun 2013 10:07:45 +0200 Subject: h8300/boot: Use POSIX "$((..))" instead of bashism "$[...]" On Ubuntu, where /bin/sh -> dash, "make ARCH=h8300 clean" gives: printf: 1: $[0x00400000+0x00140000]: expected numeric value Replace the bash-specific "$[...]" by POSIX "$((..))" for arithmetic expansion to fix this. Note that according to the bash 4.1 manpage, "$[...]" is deprecated, and will be removed in upcoming versions of bash. Signed-off-by: Geert Uytterhoeven --- arch/h8300/boot/compressed/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arch') diff --git a/arch/h8300/boot/compressed/Makefile b/arch/h8300/boot/compressed/Makefile index 6745cb1ffb4f..a6c98fe3bbc3 100644 --- a/arch/h8300/boot/compressed/Makefile +++ b/arch/h8300/boot/compressed/Makefile @@ -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 -- cgit v1.2.3 From 4fa7c9ed41e8cd6a306898fc5044a234a82dc30e Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Tue, 14 May 2013 09:26:17 +0200 Subject: openrisc: Wire up asm-generic/xor.h crypto/xor.c:25:21: error: asm/xor.h: No such file or directory Signed-off-by: Geert Uytterhoeven Acked-by: Jonas Bonn --- arch/openrisc/include/asm/Kbuild | 1 + 1 file changed, 1 insertion(+) (limited to 'arch') diff --git a/arch/openrisc/include/asm/Kbuild b/arch/openrisc/include/asm/Kbuild index f20d01d9aaf9..195653e851da 100644 --- a/arch/openrisc/include/asm/Kbuild +++ b/arch/openrisc/include/asm/Kbuild @@ -66,3 +66,4 @@ generic-y += types.h generic-y += ucontext.h generic-y += user.h generic-y += word-at-a-time.h +generic-y += xor.h -- cgit v1.2.3 From 15b7e6fecb59c7f515bf66a7ca4a0aa29b46ef28 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Thu, 27 Dec 2012 20:56:15 +0100 Subject: score: Remove unneeded It just includes , which is already handled by for the !CONFIG_HAS_DMA case (score sets CONFIG_NO_DMA=y). Signed-off-by: Geert Uytterhoeven Cc: Chen Liqin Cc: Lennox Wu --- arch/score/include/asm/dma-mapping.h | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 arch/score/include/asm/dma-mapping.h (limited to 'arch') diff --git a/arch/score/include/asm/dma-mapping.h b/arch/score/include/asm/dma-mapping.h deleted file mode 100644 index f9c0193c7a53..000000000000 --- a/arch/score/include/asm/dma-mapping.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _ASM_SCORE_DMA_MAPPING_H -#define _ASM_SCORE_DMA_MAPPING_H - -#include - -#endif /* _ASM_SCORE_DMA_MAPPING_H */ -- cgit v1.2.3 From 80ebf14546647e581e10e2cb14425a3621e782e0 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Tue, 14 May 2013 09:26:28 +0200 Subject: score: Wire up asm-generic/xor.h Signed-off-by: Geert Uytterhoeven --- arch/score/include/asm/Kbuild | 1 + 1 file changed, 1 insertion(+) (limited to 'arch') diff --git a/arch/score/include/asm/Kbuild b/arch/score/include/asm/Kbuild index cebaff8069a1..e1c7bb999b06 100644 --- a/arch/score/include/asm/Kbuild +++ b/arch/score/include/asm/Kbuild @@ -3,3 +3,4 @@ header-y += generic-y += clkdev.h generic-y += trace_clock.h +generic-y += xor.h -- cgit v1.2.3 From ee89bd6bc73d1d14555418a2642172448052f1dd Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Sun, 9 Jun 2013 11:46:43 +0200 Subject: lib: Move fonts from drivers/video/console/ to lib/fonts/ Several drivers need font support independent of CONFIG_VT, cfr. commit 9cbce8d7e1dae0744ca4f68d62aa7de18196b6f4, "console/font: Refactor font support code selection logic"). Hence move the fonts and their support logic from drivers/video/console/ to its own library directory lib/fonts/. This also allows to limit processing of drivers/video/console/Makefile to CONFIG_VT=y again. [Kevin Hilman : Update arch/arm/boot/compressed/Makefile] Signed-off-by: Geert Uytterhoeven --- arch/arm/boot/compressed/Makefile | 2 +- arch/m68k/kernel/asm-offsets.c | 2 +- arch/unicore32/boot/compressed/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'arch') diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index 3580d57ea218..6d7b013a89c2 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile @@ -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 diff --git a/arch/m68k/kernel/asm-offsets.c b/arch/m68k/kernel/asm-offsets.c index a972b00cd77d..8b7b22846366 100644 --- a/arch/m68k/kernel/asm-offsets.c +++ b/arch/m68k/kernel/asm-offsets.c @@ -77,7 +77,7 @@ int main(void) DEFINE(BIR_SIZE, offsetof(struct bi_record, size)); DEFINE(BIR_DATA, offsetof(struct bi_record, data)); - /* offsets into font_desc (drivers/video/console/font.h) */ + /* offsets into the font_desc struct */ DEFINE(FONT_DESC_IDX, offsetof(struct font_desc, idx)); DEFINE(FONT_DESC_NAME, offsetof(struct font_desc, name)); DEFINE(FONT_DESC_WIDTH, offsetof(struct font_desc, width)); diff --git a/arch/unicore32/boot/compressed/Makefile b/arch/unicore32/boot/compressed/Makefile index 950a9afa38f8..96494fb646f7 100644 --- a/arch/unicore32/boot/compressed/Makefile +++ b/arch/unicore32/boot/compressed/Makefile @@ -17,7 +17,7 @@ OBJS := misc.o # font.c and font.o CFLAGS_font.o := -Dstatic= -$(obj)/font.c: $(srctree)/drivers/video/console/font_8x8.c +$(obj)/font.c: $(srctree)/lib/fonts/font_8x8.c $(call cmd,shipped) # piggy.S and piggy.o -- cgit v1.2.3