Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'exotic-arch-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k

Pull "exotic" arch fixes from Geert Uytterhoeven:
"This is a collection of several exotic architecture fixes, and a few
other fixes for issues that were detected while doing the former"

* 'exotic-arch-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: (35 commits)
lib: Move fonts from drivers/video/console/ to lib/fonts/
console/font: Refactor font support code selection logic
Revert "staging/solo6x10: depend on CONFIG_FONTS"
input: cros_ec_keyb_clear_keyboard() depends on CONFIG_PM_SLEEP
score: Wire up asm-generic/xor.h
score: Remove unneeded <asm/dma-mapping.h>
openrisc: Wire up asm-generic/xor.h
h8300/boot: Use POSIX "$((..))" instead of bashism "$[...]"
h8300: Mark H83002 and H83048 CPU support broken
h8300: Switch h8300 to drivers/Kconfig
h8300: Limit timer channel ranges in Kconfig
h8300: Wire up asm-generic/xor.h
h8300: Fill the system call table using a CALL() macro
h8300: Fix <asm/tlb.h>
h8300: Hardcode symbol prefixes in asm sources
h8300: add missing definition for read_barries_depends()
frv: head.S - Remove commented-out initialization code
cris: Wire up asm-generic/vga.h
parport: disable PC-style parallel port support on cris
console: Disable VGA text console support on cris
...

+927 -1419
+2 -2
Documentation/DocBook/device-drivers.tmpl
··· 297 297 </sect1> 298 298 <sect1><title>Frame Buffer Fonts</title> 299 299 <para> 300 - Refer to the file drivers/video/console/fonts.c for more information. 300 + Refer to the file lib/fonts/fonts.c for more information. 301 301 </para> 302 302 <!-- FIXME: Removed for now since no structured comments in source 303 - X!Idrivers/video/console/fonts.c 303 + X!Ilib/fonts/fonts.c 304 304 --> 305 305 </sect1> 306 306 </chapter>
+1 -1
arch/arm/boot/compressed/Makefile
··· 27 27 ifeq ($(CONFIG_DEBUG_UNCOMPRESS),y) 28 28 OBJS += debug.o 29 29 endif 30 - FONTC = $(srctree)/drivers/video/console/font_acorn_8x8.c 30 + FONTC = $(srctree)/lib/fonts/font_acorn_8x8.c 31 31 32 32 # string library code (-Os is enforced to keep it much smaller) 33 33 OBJS += string.o
+2
arch/avr32/mach-at32ap/at32ap700x.c
··· 1060 1060 1061 1061 void __init at32_setup_serial_console(unsigned int usart_id) 1062 1062 { 1063 + #ifdef CONFIG_SERIAL_ATMEL 1063 1064 atmel_default_console_device = at32_usarts[usart_id]; 1065 + #endif 1064 1066 } 1065 1067 1066 1068 /* --------------------------------------------------------------------
+1
arch/c6x/include/asm/Kbuild
··· 55 55 generic-y += ucontext.h 56 56 generic-y += user.h 57 57 generic-y += vga.h 58 + generic-y += xor.h
+1 -31
arch/cris/Kconfig
··· 637 637 638 638 endmenu 639 639 640 - source "drivers/base/Kconfig" 641 - 642 - # standard linux drivers 643 - source "drivers/mtd/Kconfig" 644 - 645 - source "drivers/parport/Kconfig" 646 - 647 - source "drivers/pnp/Kconfig" 648 - 649 - source "drivers/block/Kconfig" 650 - 651 - source "drivers/ide/Kconfig" 652 - 653 - source "drivers/net/Kconfig" 654 - 655 - source "drivers/i2c/Kconfig" 656 - 657 - source "drivers/rtc/Kconfig" 658 - 659 - # 660 - # input before char - char/joystick depends on it. As does USB. 661 - # 662 - source "drivers/input/Kconfig" 663 - 664 - source "drivers/char/Kconfig" 640 + source "drivers/Kconfig" 665 641 666 642 source "fs/Kconfig" 667 - 668 - source "drivers/usb/Kconfig" 669 - 670 - source "drivers/uwb/Kconfig" 671 - 672 - source "drivers/staging/Kconfig" 673 643 674 644 source "arch/cris/Kconfig.debug" 675 645
+266 -604
arch/cris/arch-v10/kernel/kgdb.c
··· 230 230 unsigned int usp; /* 0x66 User mode stack pointer */ 231 231 } registers; 232 232 233 - /************** Prototypes for local library functions ***********************/ 234 - 235 - /* Copy of strcpy from libc. */ 236 - static char *gdb_cris_strcpy (char *s1, const char *s2); 237 - 238 - /* Copy of strlen from libc. */ 239 - static int gdb_cris_strlen (const char *s); 240 - 241 - /* Copy of memchr from libc. */ 242 - static void *gdb_cris_memchr (const void *s, int c, int n); 243 - 244 - /* Copy of strtol from libc. Does only support base 16. */ 245 - static int gdb_cris_strtol (const char *s, char **endptr, int base); 246 - 247 - /********************** Prototypes for local functions. **********************/ 248 - /* Copy the content of a register image into another. The size n is 249 - the size of the register image. Due to struct assignment generation of 250 - memcpy in libc. */ 251 - static void copy_registers (registers *dptr, registers *sptr, int n); 252 - 253 - /* Copy the stored registers from the stack. Put the register contents 254 - of thread thread_id in the struct reg. */ 255 - static void copy_registers_from_stack (int thread_id, registers *reg); 256 - 257 - /* Copy the registers to the stack. Put the register contents of thread 258 - thread_id from struct reg to the stack. */ 259 - static void copy_registers_to_stack (int thread_id, registers *reg); 260 - 261 - /* Write a value to a specified register regno in the register image 262 - of the current thread. */ 263 - static int write_register (int regno, char *val); 264 - 265 - /* Write a value to a specified register in the stack of a thread other 266 - than the current thread. */ 267 - static int write_stack_register(int thread_id, int regno, char *valptr); 268 - 269 - /* Read a value from a specified register in the register image. Returns the 270 - status of the read operation. The register value is returned in valptr. */ 271 - static int read_register (char regno, unsigned int *valptr); 272 - 273 233 /* Serial port, reads one character. ETRAX 100 specific. from debugport.c */ 274 234 int getDebugChar (void); 275 235 ··· 237 277 void putDebugChar (int val); 238 278 239 279 void enableDebugIRQ (void); 240 - 241 - /* Returns the integer equivalent of a hexadecimal character. */ 242 - static int hex (char ch); 243 - 244 - /* Convert the memory, pointed to by mem into hexadecimal representation. 245 - Put the result in buf, and return a pointer to the last character 246 - in buf (null). */ 247 - static char *mem2hex (char *buf, unsigned char *mem, int count); 248 - 249 - /* Convert the array, in hexadecimal representation, pointed to by buf into 250 - binary representation. Put the result in mem, and return a pointer to 251 - the character after the last byte written. */ 252 - static unsigned char *hex2mem (unsigned char *mem, char *buf, int count); 253 - 254 - /* Put the content of the array, in binary representation, pointed to by buf 255 - into memory pointed to by mem, and return a pointer to 256 - the character after the last byte written. */ 257 - static unsigned char *bin2mem (unsigned char *mem, unsigned char *buf, int count); 258 - 259 - /* Await the sequence $<data>#<checksum> and store <data> in the array buffer 260 - returned. */ 261 - static void getpacket (char *buffer); 262 - 263 - /* Send $<data>#<checksum> from the <data> in the array buffer. */ 264 - static void putpacket (char *buffer); 265 - 266 - /* Build and send a response packet in order to inform the host the 267 - stub is stopped. */ 268 - static void stub_is_stopped (int sigval); 269 - 270 - /* All expected commands are sent from remote.c. Send a response according 271 - to the description in remote.c. */ 272 - static void handle_exception (int sigval); 273 - 274 - /* Performs a complete re-start from scratch. ETRAX specific. */ 275 - static void kill_restart (void); 276 280 277 281 /******************** Prototypes for global functions. ***********************/ 278 282 ··· 259 335 260 336 /* The number of characters used for a 64 bit thread identifier. */ 261 337 #define HEXCHARS_IN_THREAD_ID 16 262 - 263 - /* Avoid warning as the internal_stack is not used in the C-code. */ 264 - #define USEDVAR(name) { if (name) { ; } } 265 - #define USEDFUN(name) { void (*pf)(void) = (void *)name; USEDVAR(pf) } 266 338 267 339 /********************************** Packet I/O ******************************/ 268 340 /* BUFMAX defines the maximum number of characters in ··· 325 405 326 406 /* Contains the register image of the executing thread in the assembler 327 407 part of the code in order to avoid horrible addressing modes. */ 328 - static registers reg; 408 + registers cris_reg; 329 409 330 410 /* FIXME: Should this be used? Delete otherwise. */ 331 411 /* Contains the assumed consistency state of the register image. Uses the ··· 333 413 static int consistency_status = SUCCESS; 334 414 335 415 /********************************** Handle exceptions ************************/ 336 - /* The variable reg contains the register image associated with the 416 + /* The variable cris_reg contains the register image associated with the 337 417 current_thread_c variable. It is a complete register image created at 338 418 entry. The reg_g contains a register image of a task where the general 339 419 registers are taken from the stack and all special registers are taken ··· 341 421 in order to provide access mainly for 'g', 'G' and 'P'. 342 422 */ 343 423 344 - /* Need two task id pointers in order to handle Hct and Hgt commands. */ 345 - static int current_thread_c = 0; 346 - static int current_thread_g = 0; 347 - 348 - /* Need two register images in order to handle Hct and Hgt commands. The 349 - variable reg_g is in addition to reg above. */ 350 - static registers reg_g; 351 - 352 424 /********************************** Breakpoint *******************************/ 353 425 /* Use an internal stack in the breakpoint and interrupt response routines */ 354 426 #define INTERNAL_STACK_SIZE 1024 355 - static char internal_stack[INTERNAL_STACK_SIZE]; 427 + char internal_stack[INTERNAL_STACK_SIZE]; 356 428 357 429 /* Due to the breakpoint return pointer, a state variable is needed to keep 358 430 track of whether it is a static (compiled) or dynamic (gdb-invoked) ··· 412 500 return x; 413 501 } 414 502 415 - /********************************* Register image ****************************/ 416 - /* Copy the content of a register image into another. The size n is 417 - the size of the register image. Due to struct assignment generation of 418 - memcpy in libc. */ 419 - static void 420 - copy_registers (registers *dptr, registers *sptr, int n) 421 - { 422 - unsigned char *dreg; 423 - unsigned char *sreg; 424 - 425 - for (dreg = (unsigned char*)dptr, sreg = (unsigned char*)sptr; n > 0; n--) 426 - *dreg++ = *sreg++; 427 - } 428 - 429 - #ifdef PROCESS_SUPPORT 430 - /* Copy the stored registers from the stack. Put the register contents 431 - of thread thread_id in the struct reg. */ 432 - static void 433 - copy_registers_from_stack (int thread_id, registers *regptr) 434 - { 435 - int j; 436 - stack_registers *s = (stack_registers *)stack_list[thread_id]; 437 - unsigned int *d = (unsigned int *)regptr; 438 - 439 - for (j = 13; j >= 0; j--) 440 - *d++ = s->r[j]; 441 - regptr->sp = (unsigned int)stack_list[thread_id]; 442 - regptr->pc = s->pc; 443 - regptr->dccr = s->dccr; 444 - regptr->srp = s->srp; 445 - } 446 - 447 - /* Copy the registers to the stack. Put the register contents of thread 448 - thread_id from struct reg to the stack. */ 449 - static void 450 - copy_registers_to_stack (int thread_id, registers *regptr) 451 - { 452 - int i; 453 - stack_registers *d = (stack_registers *)stack_list[thread_id]; 454 - unsigned int *s = (unsigned int *)regptr; 455 - 456 - for (i = 0; i < 14; i++) { 457 - d->r[i] = *s++; 458 - } 459 - d->pc = regptr->pc; 460 - d->dccr = regptr->dccr; 461 - d->srp = regptr->srp; 462 - } 463 - #endif 464 - 465 - /* Write a value to a specified register in the register image of the current 466 - thread. Returns status code SUCCESS, E02 or E05. */ 467 - static int 468 - write_register (int regno, char *val) 469 - { 470 - int status = SUCCESS; 471 - registers *current_reg = &reg; 472 - 473 - if (regno >= R0 && regno <= PC) { 474 - /* 32-bit register with simple offset. */ 475 - hex2mem ((unsigned char *)current_reg + regno * sizeof(unsigned int), 476 - val, sizeof(unsigned int)); 477 - } 478 - else if (regno == P0 || regno == VR || regno == P4 || regno == P8) { 479 - /* Do not support read-only registers. */ 480 - status = E02; 481 - } 482 - else if (regno == CCR) { 483 - /* 16 bit register with complex offset. (P4 is read-only, P6 is not implemented, 484 - and P7 (MOF) is 32 bits in ETRAX 100LX. */ 485 - hex2mem ((unsigned char *)&(current_reg->ccr) + (regno-CCR) * sizeof(unsigned short), 486 - val, sizeof(unsigned short)); 487 - } 488 - else if (regno >= MOF && regno <= USP) { 489 - /* 32 bit register with complex offset. (P8 has been taken care of.) */ 490 - hex2mem ((unsigned char *)&(current_reg->ibr) + (regno-IBR) * sizeof(unsigned int), 491 - val, sizeof(unsigned int)); 492 - } 493 - else { 494 - /* Do not support nonexisting or unimplemented registers (P2, P3, and P6). */ 495 - status = E05; 496 - } 497 - return status; 498 - } 499 - 500 - #ifdef PROCESS_SUPPORT 501 - /* Write a value to a specified register in the stack of a thread other 502 - than the current thread. Returns status code SUCCESS or E07. */ 503 - static int 504 - write_stack_register (int thread_id, int regno, char *valptr) 505 - { 506 - int status = SUCCESS; 507 - stack_registers *d = (stack_registers *)stack_list[thread_id]; 508 - unsigned int val; 509 - 510 - hex2mem ((unsigned char *)&val, valptr, sizeof(unsigned int)); 511 - if (regno >= R0 && regno < SP) { 512 - d->r[regno] = val; 513 - } 514 - else if (regno == SP) { 515 - stack_list[thread_id] = val; 516 - } 517 - else if (regno == PC) { 518 - d->pc = val; 519 - } 520 - else if (regno == SRP) { 521 - d->srp = val; 522 - } 523 - else if (regno == DCCR) { 524 - d->dccr = val; 525 - } 526 - else { 527 - /* Do not support registers in the current thread. */ 528 - status = E07; 529 - } 530 - return status; 531 - } 532 - #endif 533 - 534 - /* Read a value from a specified register in the register image. Returns the 535 - value in the register or -1 for non-implemented registers. 536 - Should check consistency_status after a call which may be E05 after changes 537 - in the implementation. */ 538 - static int 539 - read_register (char regno, unsigned int *valptr) 540 - { 541 - registers *current_reg = &reg; 542 - 543 - if (regno >= R0 && regno <= PC) { 544 - /* 32-bit register with simple offset. */ 545 - *valptr = *(unsigned int *)((char *)current_reg + regno * sizeof(unsigned int)); 546 - return SUCCESS; 547 - } 548 - else if (regno == P0 || regno == VR) { 549 - /* 8 bit register with complex offset. */ 550 - *valptr = (unsigned int)(*(unsigned char *) 551 - ((char *)&(current_reg->p0) + (regno-P0) * sizeof(char))); 552 - return SUCCESS; 553 - } 554 - else if (regno == P4 || regno == CCR) { 555 - /* 16 bit register with complex offset. */ 556 - *valptr = (unsigned int)(*(unsigned short *) 557 - ((char *)&(current_reg->p4) + (regno-P4) * sizeof(unsigned short))); 558 - return SUCCESS; 559 - } 560 - else if (regno >= MOF && regno <= USP) { 561 - /* 32 bit register with complex offset. */ 562 - *valptr = *(unsigned int *)((char *)&(current_reg->p8) 563 - + (regno-P8) * sizeof(unsigned int)); 564 - return SUCCESS; 565 - } 566 - else { 567 - /* Do not support nonexisting or unimplemented registers (P2, P3, and P6). */ 568 - consistency_status = E05; 569 - return E05; 570 - } 571 - } 572 - 573 503 /********************************** Packet I/O ******************************/ 574 504 /* Returns the integer equivalent of a hexadecimal character. */ 575 505 static int ··· 429 675 /* Convert the memory, pointed to by mem into hexadecimal representation. 430 676 Put the result in buf, and return a pointer to the last character 431 677 in buf (null). */ 432 - 433 - static int do_printk = 0; 434 678 435 679 static char * 436 680 mem2hex(char *buf, unsigned char *mem, int count) ··· 513 761 xmitcsum = -1; 514 762 count = 0; 515 763 /* Read until a # or the end of the buffer is reached */ 516 - while (count < BUFMAX) { 764 + while (count < BUFMAX - 1) { 517 765 ch = getDebugChar (); 518 766 if (ch == '#') 519 767 break; ··· 597 845 putpacket(remcomOutBuffer); 598 846 } 599 847 848 + /********************************* Register image ****************************/ 849 + /* Write a value to a specified register in the register image of the current 850 + thread. Returns status code SUCCESS, E02 or E05. */ 851 + static int 852 + write_register (int regno, char *val) 853 + { 854 + int status = SUCCESS; 855 + registers *current_reg = &cris_reg; 856 + 857 + if (regno >= R0 && regno <= PC) { 858 + /* 32-bit register with simple offset. */ 859 + hex2mem ((unsigned char *)current_reg + regno * sizeof(unsigned int), 860 + val, sizeof(unsigned int)); 861 + } 862 + else if (regno == P0 || regno == VR || regno == P4 || regno == P8) { 863 + /* Do not support read-only registers. */ 864 + status = E02; 865 + } 866 + else if (regno == CCR) { 867 + /* 16 bit register with complex offset. (P4 is read-only, P6 is not implemented, 868 + and P7 (MOF) is 32 bits in ETRAX 100LX. */ 869 + hex2mem ((unsigned char *)&(current_reg->ccr) + (regno-CCR) * sizeof(unsigned short), 870 + val, sizeof(unsigned short)); 871 + } 872 + else if (regno >= MOF && regno <= USP) { 873 + /* 32 bit register with complex offset. (P8 has been taken care of.) */ 874 + hex2mem ((unsigned char *)&(current_reg->ibr) + (regno-IBR) * sizeof(unsigned int), 875 + val, sizeof(unsigned int)); 876 + } 877 + else { 878 + /* Do not support nonexisting or unimplemented registers (P2, P3, and P6). */ 879 + status = E05; 880 + } 881 + return status; 882 + } 883 + 884 + /* Read a value from a specified register in the register image. Returns the 885 + value in the register or -1 for non-implemented registers. 886 + Should check consistency_status after a call which may be E05 after changes 887 + in the implementation. */ 888 + static int 889 + read_register (char regno, unsigned int *valptr) 890 + { 891 + registers *current_reg = &cris_reg; 892 + 893 + if (regno >= R0 && regno <= PC) { 894 + /* 32-bit register with simple offset. */ 895 + *valptr = *(unsigned int *)((char *)current_reg + regno * sizeof(unsigned int)); 896 + return SUCCESS; 897 + } 898 + else if (regno == P0 || regno == VR) { 899 + /* 8 bit register with complex offset. */ 900 + *valptr = (unsigned int)(*(unsigned char *) 901 + ((char *)&(current_reg->p0) + (regno-P0) * sizeof(char))); 902 + return SUCCESS; 903 + } 904 + else if (regno == P4 || regno == CCR) { 905 + /* 16 bit register with complex offset. */ 906 + *valptr = (unsigned int)(*(unsigned short *) 907 + ((char *)&(current_reg->p4) + (regno-P4) * sizeof(unsigned short))); 908 + return SUCCESS; 909 + } 910 + else if (regno >= MOF && regno <= USP) { 911 + /* 32 bit register with complex offset. */ 912 + *valptr = *(unsigned int *)((char *)&(current_reg->p8) 913 + + (regno-P8) * sizeof(unsigned int)); 914 + return SUCCESS; 915 + } 916 + else { 917 + /* Do not support nonexisting or unimplemented registers (P2, P3, and P6). */ 918 + consistency_status = E05; 919 + return E05; 920 + } 921 + } 922 + 600 923 /********************************** Handle exceptions ************************/ 601 924 /* Build and send a response packet in order to inform the host the 602 925 stub is stopped. TAAn...:r...;n...:r...;n...:r...; ··· 718 891 719 892 } 720 893 721 - #ifdef PROCESS_SUPPORT 722 - /* Store the registers of the executing thread. Assume that both step, 723 - continue, and register content requests are with respect to this 724 - thread. The executing task is from the operating system scheduler. */ 725 - 726 - current_thread_c = executing_task; 727 - current_thread_g = executing_task; 728 - 729 - /* A struct assignment translates into a libc memcpy call. Avoid 730 - all libc functions in order to prevent recursive break points. */ 731 - copy_registers (&reg_g, &reg, sizeof(registers)); 732 - 733 - /* Store thread:r...; with the executing task TID. */ 734 - gdb_cris_strcpy (&remcomOutBuffer[pos], "thread:"); 735 - pos += gdb_cris_strlen ("thread:"); 736 - remcomOutBuffer[pos++] = hex_asc_hi(executing_task); 737 - remcomOutBuffer[pos++] = hex_asc_lo(executing_task); 738 - gdb_cris_strcpy (&remcomOutBuffer[pos], ";"); 739 - #endif 740 - 741 894 /* null-terminate and send it off */ 742 895 743 896 *ptr = 0; ··· 725 918 putpacket (remcomOutBuffer); 726 919 } 727 920 921 + /* Performs a complete re-start from scratch. */ 922 + static void 923 + kill_restart (void) 924 + { 925 + machine_restart(""); 926 + } 927 + 728 928 /* All expected commands are sent from remote.c. Send a response according 729 929 to the description in remote.c. */ 730 - static void 930 + void 731 931 handle_exception (int sigval) 732 932 { 733 - /* Avoid warning of not used. */ 734 - 735 - USEDFUN(handle_exception); 736 - USEDVAR(internal_stack[0]); 737 - 738 933 /* Send response. */ 739 934 740 935 stub_is_stopped (sigval); ··· 752 943 in a register are in the same order the machine uses. 753 944 Failure: void. */ 754 945 755 - { 756 - #ifdef PROCESS_SUPPORT 757 - /* Use the special register content in the executing thread. */ 758 - copy_registers (&reg_g, &reg, sizeof(registers)); 759 - /* Replace the content available on the stack. */ 760 - if (current_thread_g != executing_task) { 761 - copy_registers_from_stack (current_thread_g, &reg_g); 762 - } 763 - mem2hex ((unsigned char *)remcomOutBuffer, (unsigned char *)&reg_g, sizeof(registers)); 764 - #else 765 - mem2hex(remcomOutBuffer, (char *)&reg, sizeof(registers)); 766 - #endif 767 - } 946 + mem2hex(remcomOutBuffer, (char *)&cris_reg, sizeof(registers)); 768 947 break; 769 948 770 949 case 'G': ··· 760 963 Each byte of register data is described by two hex digits. 761 964 Success: OK 762 965 Failure: void. */ 763 - #ifdef PROCESS_SUPPORT 764 - hex2mem ((unsigned char *)&reg_g, &remcomInBuffer[1], sizeof(registers)); 765 - if (current_thread_g == executing_task) { 766 - copy_registers (&reg, &reg_g, sizeof(registers)); 767 - } 768 - else { 769 - copy_registers_to_stack(current_thread_g, &reg_g); 770 - } 771 - #else 772 - hex2mem((char *)&reg, &remcomInBuffer[1], sizeof(registers)); 773 - #endif 966 + hex2mem((char *)&cris_reg, &remcomInBuffer[1], sizeof(registers)); 774 967 gdb_cris_strcpy (remcomOutBuffer, "OK"); 775 968 break; 776 969 ··· 776 989 char *suffix; 777 990 int regno = gdb_cris_strtol (&remcomInBuffer[1], &suffix, 16); 778 991 int status; 779 - #ifdef PROCESS_SUPPORT 780 - if (current_thread_g != executing_task) 781 - status = write_stack_register (current_thread_g, regno, suffix+1); 782 - else 783 - #endif 784 - status = write_register (regno, suffix+1); 992 + status = write_register (regno, suffix+1); 785 993 786 994 switch (status) { 787 995 case E02: ··· 855 1073 Success: return to the executing thread. 856 1074 Failure: will never know. */ 857 1075 if (remcomInBuffer[1] != '\0') { 858 - reg.pc = gdb_cris_strtol (&remcomInBuffer[1], 0, 16); 1076 + cris_reg.pc = gdb_cris_strtol (&remcomInBuffer[1], 0, 16); 859 1077 } 860 1078 enableDebugIRQ(); 861 1079 return; ··· 911 1129 Not supported: E04 */ 912 1130 gdb_cris_strcpy (remcomOutBuffer, error_message[E04]); 913 1131 break; 914 - #ifdef PROCESS_SUPPORT 915 - 916 - case 'T': 917 - /* Thread alive. TXX 918 - Is thread XX alive? 919 - Success: OK, thread XX is alive. 920 - Failure: E03, thread XX is dead. */ 921 - { 922 - int thread_id = (int)gdb_cris_strtol (&remcomInBuffer[1], 0, 16); 923 - /* Cannot tell whether it is alive or not. */ 924 - if (thread_id >= 0 && thread_id < number_of_tasks) 925 - gdb_cris_strcpy (remcomOutBuffer, "OK"); 926 - } 927 - break; 928 - 929 - case 'H': 930 - /* Set thread for subsequent operations: Hct 931 - c = 'c' for thread used in step and continue; 932 - t can be -1 for all threads. 933 - c = 'g' for thread used in other operations. 934 - t = 0 means pick any thread. 935 - Success: OK 936 - Failure: E01 */ 937 - { 938 - int thread_id = gdb_cris_strtol (&remcomInBuffer[2], 0, 16); 939 - if (remcomInBuffer[1] == 'c') { 940 - /* c = 'c' for thread used in step and continue */ 941 - /* Do not change current_thread_c here. It would create a mess in 942 - the scheduler. */ 943 - gdb_cris_strcpy (remcomOutBuffer, "OK"); 944 - } 945 - else if (remcomInBuffer[1] == 'g') { 946 - /* c = 'g' for thread used in other operations. 947 - t = 0 means pick any thread. Impossible since the scheduler does 948 - not allow that. */ 949 - if (thread_id >= 0 && thread_id < number_of_tasks) { 950 - current_thread_g = thread_id; 951 - gdb_cris_strcpy (remcomOutBuffer, "OK"); 952 - } 953 - else { 954 - /* Not expected - send an error message. */ 955 - gdb_cris_strcpy (remcomOutBuffer, error_message[E01]); 956 - } 957 - } 958 - else { 959 - /* Not expected - send an error message. */ 960 - gdb_cris_strcpy (remcomOutBuffer, error_message[E01]); 961 - } 962 - } 963 - break; 964 - 965 - case 'q': 966 - case 'Q': 967 - /* Query of general interest. qXXXX 968 - Set general value XXXX. QXXXX=yyyy */ 969 - { 970 - int pos; 971 - int nextpos; 972 - int thread_id; 973 - 974 - switch (remcomInBuffer[1]) { 975 - case 'C': 976 - /* Identify the remote current thread. */ 977 - gdb_cris_strcpy (&remcomOutBuffer[0], "QC"); 978 - remcomOutBuffer[2] = hex_asc_hi(current_thread_c); 979 - remcomOutBuffer[3] = hex_asc_lo(current_thread_c); 980 - remcomOutBuffer[4] = '\0'; 981 - break; 982 - case 'L': 983 - gdb_cris_strcpy (&remcomOutBuffer[0], "QM"); 984 - /* Reply with number of threads. */ 985 - if (os_is_started()) { 986 - remcomOutBuffer[2] = hex_asc_hi(number_of_tasks); 987 - remcomOutBuffer[3] = hex_asc_lo(number_of_tasks); 988 - } 989 - else { 990 - remcomOutBuffer[2] = hex_asc_hi(0); 991 - remcomOutBuffer[3] = hex_asc_lo(1); 992 - } 993 - /* Done with the reply. */ 994 - remcomOutBuffer[4] = hex_asc_lo(1); 995 - pos = 5; 996 - /* Expects the argument thread id. */ 997 - for (; pos < (5 + HEXCHARS_IN_THREAD_ID); pos++) 998 - remcomOutBuffer[pos] = remcomInBuffer[pos]; 999 - /* Reply with the thread identifiers. */ 1000 - if (os_is_started()) { 1001 - /* Store the thread identifiers of all tasks. */ 1002 - for (thread_id = 0; thread_id < number_of_tasks; thread_id++) { 1003 - nextpos = pos + HEXCHARS_IN_THREAD_ID - 1; 1004 - for (; pos < nextpos; pos ++) 1005 - remcomOutBuffer[pos] = hex_asc_lo(0); 1006 - remcomOutBuffer[pos++] = hex_asc_lo(thread_id); 1007 - } 1008 - } 1009 - else { 1010 - /* Store the thread identifier of the boot task. */ 1011 - nextpos = pos + HEXCHARS_IN_THREAD_ID - 1; 1012 - for (; pos < nextpos; pos ++) 1013 - remcomOutBuffer[pos] = hex_asc_lo(0); 1014 - remcomOutBuffer[pos++] = hex_asc_lo(current_thread_c); 1015 - } 1016 - remcomOutBuffer[pos] = '\0'; 1017 - break; 1018 - default: 1019 - /* Not supported: "" */ 1020 - /* Request information about section offsets: qOffsets. */ 1021 - remcomOutBuffer[0] = 0; 1022 - break; 1023 - } 1024 - } 1025 - break; 1026 - #endif /* PROCESS_SUPPORT */ 1027 1132 1028 1133 default: 1029 1134 /* The stub should ignore other request and send an empty ··· 923 1254 } 924 1255 } 925 1256 926 - /* Performs a complete re-start from scratch. */ 927 - static void 928 - kill_restart () 929 - { 930 - machine_restart(""); 931 - } 932 - 933 1257 /********************************** Breakpoint *******************************/ 934 1258 /* The hook for both a static (compiled) and a dynamic breakpoint set by GDB. 935 1259 An internal stack is used by the stub. The register image of the caller is ··· 932 1270 933 1271 void kgdb_handle_breakpoint(void); 934 1272 935 - asm (" 936 - .global kgdb_handle_breakpoint 937 - kgdb_handle_breakpoint: 938 - ;; 939 - ;; Response to the break-instruction 940 - ;; 941 - ;; Create a register image of the caller 942 - ;; 943 - move $dccr,[reg+0x5E] ; Save the flags in DCCR before disable interrupts 944 - di ; Disable interrupts 945 - move.d $r0,[reg] ; Save R0 946 - move.d $r1,[reg+0x04] ; Save R1 947 - move.d $r2,[reg+0x08] ; Save R2 948 - move.d $r3,[reg+0x0C] ; Save R3 949 - move.d $r4,[reg+0x10] ; Save R4 950 - move.d $r5,[reg+0x14] ; Save R5 951 - move.d $r6,[reg+0x18] ; Save R6 952 - move.d $r7,[reg+0x1C] ; Save R7 953 - move.d $r8,[reg+0x20] ; Save R8 954 - move.d $r9,[reg+0x24] ; Save R9 955 - move.d $r10,[reg+0x28] ; Save R10 956 - move.d $r11,[reg+0x2C] ; Save R11 957 - move.d $r12,[reg+0x30] ; Save R12 958 - move.d $r13,[reg+0x34] ; Save R13 959 - move.d $sp,[reg+0x38] ; Save SP (R14) 960 - ;; Due to the old assembler-versions BRP might not be recognized 961 - .word 0xE670 ; move brp,$r0 962 - subq 2,$r0 ; Set to address of previous instruction. 963 - move.d $r0,[reg+0x3c] ; Save the address in PC (R15) 964 - clear.b [reg+0x40] ; Clear P0 965 - move $vr,[reg+0x41] ; Save special register P1 966 - clear.w [reg+0x42] ; Clear P4 967 - move $ccr,[reg+0x44] ; Save special register CCR 968 - move $mof,[reg+0x46] ; P7 969 - clear.d [reg+0x4A] ; Clear P8 970 - move $ibr,[reg+0x4E] ; P9, 971 - move $irp,[reg+0x52] ; P10, 972 - move $srp,[reg+0x56] ; P11, 973 - move $dtp0,[reg+0x5A] ; P12, register BAR, assembler might not know BAR 974 - ; P13, register DCCR already saved 975 - ;; Due to the old assembler-versions BRP might not be recognized 976 - .word 0xE670 ; move brp,r0 977 - ;; Static (compiled) breakpoints must return to the next instruction in order 978 - ;; to avoid infinite loops. Dynamic (gdb-invoked) must restore the instruction 979 - ;; in order to execute it when execution is continued. 980 - test.b [is_dyn_brkp] ; Is this a dynamic breakpoint? 981 - beq is_static ; No, a static breakpoint 982 - nop 983 - subq 2,$r0 ; rerun the instruction the break replaced 984 - is_static: 985 - moveq 1,$r1 986 - move.b $r1,[is_dyn_brkp] ; Set the state variable to dynamic breakpoint 987 - move.d $r0,[reg+0x62] ; Save the return address in BRP 988 - move $usp,[reg+0x66] ; USP 989 - ;; 990 - ;; Handle the communication 991 - ;; 992 - move.d internal_stack+1020,$sp ; Use the internal stack which grows upward 993 - moveq 5,$r10 ; SIGTRAP 994 - jsr handle_exception ; Interactive routine 995 - ;; 996 - ;; Return to the caller 997 - ;; 998 - move.d [reg],$r0 ; Restore R0 999 - move.d [reg+0x04],$r1 ; Restore R1 1000 - move.d [reg+0x08],$r2 ; Restore R2 1001 - move.d [reg+0x0C],$r3 ; Restore R3 1002 - move.d [reg+0x10],$r4 ; Restore R4 1003 - move.d [reg+0x14],$r5 ; Restore R5 1004 - move.d [reg+0x18],$r6 ; Restore R6 1005 - move.d [reg+0x1C],$r7 ; Restore R7 1006 - move.d [reg+0x20],$r8 ; Restore R8 1007 - move.d [reg+0x24],$r9 ; Restore R9 1008 - move.d [reg+0x28],$r10 ; Restore R10 1009 - move.d [reg+0x2C],$r11 ; Restore R11 1010 - move.d [reg+0x30],$r12 ; Restore R12 1011 - move.d [reg+0x34],$r13 ; Restore R13 1012 - ;; 1013 - ;; FIXME: Which registers should be restored? 1014 - ;; 1015 - move.d [reg+0x38],$sp ; Restore SP (R14) 1016 - move [reg+0x56],$srp ; Restore the subroutine return pointer. 1017 - move [reg+0x5E],$dccr ; Restore DCCR 1018 - move [reg+0x66],$usp ; Restore USP 1019 - jump [reg+0x62] ; A jump to the content in register BRP works. 1020 - nop ; 1021 - "); 1273 + asm ("\n" 1274 + " .global kgdb_handle_breakpoint\n" 1275 + "kgdb_handle_breakpoint:\n" 1276 + ";;\n" 1277 + ";; Response to the break-instruction\n" 1278 + ";;\n" 1279 + ";; Create a register image of the caller\n" 1280 + ";;\n" 1281 + " move $dccr,[cris_reg+0x5E] ; Save the flags in DCCR before disable interrupts\n" 1282 + " di ; Disable interrupts\n" 1283 + " move.d $r0,[cris_reg] ; Save R0\n" 1284 + " move.d $r1,[cris_reg+0x04] ; Save R1\n" 1285 + " move.d $r2,[cris_reg+0x08] ; Save R2\n" 1286 + " move.d $r3,[cris_reg+0x0C] ; Save R3\n" 1287 + " move.d $r4,[cris_reg+0x10] ; Save R4\n" 1288 + " move.d $r5,[cris_reg+0x14] ; Save R5\n" 1289 + " move.d $r6,[cris_reg+0x18] ; Save R6\n" 1290 + " move.d $r7,[cris_reg+0x1C] ; Save R7\n" 1291 + " move.d $r8,[cris_reg+0x20] ; Save R8\n" 1292 + " move.d $r9,[cris_reg+0x24] ; Save R9\n" 1293 + " move.d $r10,[cris_reg+0x28] ; Save R10\n" 1294 + " move.d $r11,[cris_reg+0x2C] ; Save R11\n" 1295 + " move.d $r12,[cris_reg+0x30] ; Save R12\n" 1296 + " move.d $r13,[cris_reg+0x34] ; Save R13\n" 1297 + " move.d $sp,[cris_reg+0x38] ; Save SP (R14)\n" 1298 + ";; Due to the old assembler-versions BRP might not be recognized\n" 1299 + " .word 0xE670 ; move brp,$r0\n" 1300 + " subq 2,$r0 ; Set to address of previous instruction.\n" 1301 + " move.d $r0,[cris_reg+0x3c] ; Save the address in PC (R15)\n" 1302 + " clear.b [cris_reg+0x40] ; Clear P0\n" 1303 + " move $vr,[cris_reg+0x41] ; Save special register P1\n" 1304 + " clear.w [cris_reg+0x42] ; Clear P4\n" 1305 + " move $ccr,[cris_reg+0x44] ; Save special register CCR\n" 1306 + " move $mof,[cris_reg+0x46] ; P7\n" 1307 + " clear.d [cris_reg+0x4A] ; Clear P8\n" 1308 + " move $ibr,[cris_reg+0x4E] ; P9,\n" 1309 + " move $irp,[cris_reg+0x52] ; P10,\n" 1310 + " move $srp,[cris_reg+0x56] ; P11,\n" 1311 + " move $dtp0,[cris_reg+0x5A] ; P12, register BAR, assembler might not know BAR\n" 1312 + " ; P13, register DCCR already saved\n" 1313 + ";; Due to the old assembler-versions BRP might not be recognized\n" 1314 + " .word 0xE670 ; move brp,r0\n" 1315 + ";; Static (compiled) breakpoints must return to the next instruction in order\n" 1316 + ";; to avoid infinite loops. Dynamic (gdb-invoked) must restore the instruction\n" 1317 + ";; in order to execute it when execution is continued.\n" 1318 + " test.b [is_dyn_brkp] ; Is this a dynamic breakpoint?\n" 1319 + " beq is_static ; No, a static breakpoint\n" 1320 + " nop\n" 1321 + " subq 2,$r0 ; rerun the instruction the break replaced\n" 1322 + "is_static:\n" 1323 + " moveq 1,$r1\n" 1324 + " move.b $r1,[is_dyn_brkp] ; Set the state variable to dynamic breakpoint\n" 1325 + " move.d $r0,[cris_reg+0x62] ; Save the return address in BRP\n" 1326 + " move $usp,[cris_reg+0x66] ; USP\n" 1327 + ";;\n" 1328 + ";; Handle the communication\n" 1329 + ";;\n" 1330 + " move.d internal_stack+1020,$sp ; Use the internal stack which grows upward\n" 1331 + " moveq 5,$r10 ; SIGTRAP\n" 1332 + " jsr handle_exception ; Interactive routine\n" 1333 + ";;\n" 1334 + ";; Return to the caller\n" 1335 + ";;\n" 1336 + " move.d [cris_reg],$r0 ; Restore R0\n" 1337 + " move.d [cris_reg+0x04],$r1 ; Restore R1\n" 1338 + " move.d [cris_reg+0x08],$r2 ; Restore R2\n" 1339 + " move.d [cris_reg+0x0C],$r3 ; Restore R3\n" 1340 + " move.d [cris_reg+0x10],$r4 ; Restore R4\n" 1341 + " move.d [cris_reg+0x14],$r5 ; Restore R5\n" 1342 + " move.d [cris_reg+0x18],$r6 ; Restore R6\n" 1343 + " move.d [cris_reg+0x1C],$r7 ; Restore R7\n" 1344 + " move.d [cris_reg+0x20],$r8 ; Restore R8\n" 1345 + " move.d [cris_reg+0x24],$r9 ; Restore R9\n" 1346 + " move.d [cris_reg+0x28],$r10 ; Restore R10\n" 1347 + " move.d [cris_reg+0x2C],$r11 ; Restore R11\n" 1348 + " move.d [cris_reg+0x30],$r12 ; Restore R12\n" 1349 + " move.d [cris_reg+0x34],$r13 ; Restore R13\n" 1350 + ";;\n" 1351 + ";; FIXME: Which registers should be restored?\n" 1352 + ";;\n" 1353 + " move.d [cris_reg+0x38],$sp ; Restore SP (R14)\n" 1354 + " move [cris_reg+0x56],$srp ; Restore the subroutine return pointer.\n" 1355 + " move [cris_reg+0x5E],$dccr ; Restore DCCR\n" 1356 + " move [cris_reg+0x66],$usp ; Restore USP\n" 1357 + " jump [cris_reg+0x62] ; A jump to the content in register BRP works.\n" 1358 + " nop ;\n" 1359 + "\n"); 1022 1360 1023 1361 /* The hook for an interrupt generated by GDB. An internal stack is used 1024 1362 by the stub. The register image of the caller is stored in the structure ··· 1029 1367 1030 1368 void kgdb_handle_serial(void); 1031 1369 1032 - asm (" 1033 - .global kgdb_handle_serial 1034 - kgdb_handle_serial: 1035 - ;; 1036 - ;; Response to a serial interrupt 1037 - ;; 1038 - 1039 - move $dccr,[reg+0x5E] ; Save the flags in DCCR 1040 - di ; Disable interrupts 1041 - move.d $r0,[reg] ; Save R0 1042 - move.d $r1,[reg+0x04] ; Save R1 1043 - move.d $r2,[reg+0x08] ; Save R2 1044 - move.d $r3,[reg+0x0C] ; Save R3 1045 - move.d $r4,[reg+0x10] ; Save R4 1046 - move.d $r5,[reg+0x14] ; Save R5 1047 - move.d $r6,[reg+0x18] ; Save R6 1048 - move.d $r7,[reg+0x1C] ; Save R7 1049 - move.d $r8,[reg+0x20] ; Save R8 1050 - move.d $r9,[reg+0x24] ; Save R9 1051 - move.d $r10,[reg+0x28] ; Save R10 1052 - move.d $r11,[reg+0x2C] ; Save R11 1053 - move.d $r12,[reg+0x30] ; Save R12 1054 - move.d $r13,[reg+0x34] ; Save R13 1055 - move.d $sp,[reg+0x38] ; Save SP (R14) 1056 - move $irp,[reg+0x3c] ; Save the address in PC (R15) 1057 - clear.b [reg+0x40] ; Clear P0 1058 - move $vr,[reg+0x41] ; Save special register P1, 1059 - clear.w [reg+0x42] ; Clear P4 1060 - move $ccr,[reg+0x44] ; Save special register CCR 1061 - move $mof,[reg+0x46] ; P7 1062 - clear.d [reg+0x4A] ; Clear P8 1063 - move $ibr,[reg+0x4E] ; P9, 1064 - move $irp,[reg+0x52] ; P10, 1065 - move $srp,[reg+0x56] ; P11, 1066 - move $dtp0,[reg+0x5A] ; P12, register BAR, assembler might not know BAR 1067 - ; P13, register DCCR already saved 1068 - ;; Due to the old assembler-versions BRP might not be recognized 1069 - .word 0xE670 ; move brp,r0 1070 - move.d $r0,[reg+0x62] ; Save the return address in BRP 1071 - move $usp,[reg+0x66] ; USP 1072 - 1073 - ;; get the serial character (from debugport.c) and check if it is a ctrl-c 1074 - 1075 - jsr getDebugChar 1076 - cmp.b 3, $r10 1077 - bne goback 1078 - nop 1079 - 1080 - move.d [reg+0x5E], $r10 ; Get DCCR 1081 - btstq 8, $r10 ; Test the U-flag. 1082 - bmi goback 1083 - nop 1084 - 1085 - ;; 1086 - ;; Handle the communication 1087 - ;; 1088 - move.d internal_stack+1020,$sp ; Use the internal stack 1089 - moveq 2,$r10 ; SIGINT 1090 - jsr handle_exception ; Interactive routine 1091 - 1092 - goback: 1093 - ;; 1094 - ;; Return to the caller 1095 - ;; 1096 - move.d [reg],$r0 ; Restore R0 1097 - move.d [reg+0x04],$r1 ; Restore R1 1098 - move.d [reg+0x08],$r2 ; Restore R2 1099 - move.d [reg+0x0C],$r3 ; Restore R3 1100 - move.d [reg+0x10],$r4 ; Restore R4 1101 - move.d [reg+0x14],$r5 ; Restore R5 1102 - move.d [reg+0x18],$r6 ; Restore R6 1103 - move.d [reg+0x1C],$r7 ; Restore R7 1104 - move.d [reg+0x20],$r8 ; Restore R8 1105 - move.d [reg+0x24],$r9 ; Restore R9 1106 - move.d [reg+0x28],$r10 ; Restore R10 1107 - move.d [reg+0x2C],$r11 ; Restore R11 1108 - move.d [reg+0x30],$r12 ; Restore R12 1109 - move.d [reg+0x34],$r13 ; Restore R13 1110 - ;; 1111 - ;; FIXME: Which registers should be restored? 1112 - ;; 1113 - move.d [reg+0x38],$sp ; Restore SP (R14) 1114 - move [reg+0x56],$srp ; Restore the subroutine return pointer. 1115 - move [reg+0x5E],$dccr ; Restore DCCR 1116 - move [reg+0x66],$usp ; Restore USP 1117 - reti ; Return from the interrupt routine 1118 - nop 1119 - "); 1370 + asm ("\n" 1371 + " .global kgdb_handle_serial\n" 1372 + "kgdb_handle_serial:\n" 1373 + ";;\n" 1374 + ";; Response to a serial interrupt\n" 1375 + ";;\n" 1376 + "\n" 1377 + " move $dccr,[cris_reg+0x5E] ; Save the flags in DCCR\n" 1378 + " di ; Disable interrupts\n" 1379 + " move.d $r0,[cris_reg] ; Save R0\n" 1380 + " move.d $r1,[cris_reg+0x04] ; Save R1\n" 1381 + " move.d $r2,[cris_reg+0x08] ; Save R2\n" 1382 + " move.d $r3,[cris_reg+0x0C] ; Save R3\n" 1383 + " move.d $r4,[cris_reg+0x10] ; Save R4\n" 1384 + " move.d $r5,[cris_reg+0x14] ; Save R5\n" 1385 + " move.d $r6,[cris_reg+0x18] ; Save R6\n" 1386 + " move.d $r7,[cris_reg+0x1C] ; Save R7\n" 1387 + " move.d $r8,[cris_reg+0x20] ; Save R8\n" 1388 + " move.d $r9,[cris_reg+0x24] ; Save R9\n" 1389 + " move.d $r10,[cris_reg+0x28] ; Save R10\n" 1390 + " move.d $r11,[cris_reg+0x2C] ; Save R11\n" 1391 + " move.d $r12,[cris_reg+0x30] ; Save R12\n" 1392 + " move.d $r13,[cris_reg+0x34] ; Save R13\n" 1393 + " move.d $sp,[cris_reg+0x38] ; Save SP (R14)\n" 1394 + " move $irp,[cris_reg+0x3c] ; Save the address in PC (R15)\n" 1395 + " clear.b [cris_reg+0x40] ; Clear P0\n" 1396 + " move $vr,[cris_reg+0x41] ; Save special register P1,\n" 1397 + " clear.w [cris_reg+0x42] ; Clear P4\n" 1398 + " move $ccr,[cris_reg+0x44] ; Save special register CCR\n" 1399 + " move $mof,[cris_reg+0x46] ; P7\n" 1400 + " clear.d [cris_reg+0x4A] ; Clear P8\n" 1401 + " move $ibr,[cris_reg+0x4E] ; P9,\n" 1402 + " move $irp,[cris_reg+0x52] ; P10,\n" 1403 + " move $srp,[cris_reg+0x56] ; P11,\n" 1404 + " move $dtp0,[cris_reg+0x5A] ; P12, register BAR, assembler might not know BAR\n" 1405 + " ; P13, register DCCR already saved\n" 1406 + ";; Due to the old assembler-versions BRP might not be recognized\n" 1407 + " .word 0xE670 ; move brp,r0\n" 1408 + " move.d $r0,[cris_reg+0x62] ; Save the return address in BRP\n" 1409 + " move $usp,[cris_reg+0x66] ; USP\n" 1410 + "\n" 1411 + ";; get the serial character (from debugport.c) and check if it is a ctrl-c\n" 1412 + "\n" 1413 + " jsr getDebugChar\n" 1414 + " cmp.b 3, $r10\n" 1415 + " bne goback\n" 1416 + " nop\n" 1417 + "\n" 1418 + " move.d [cris_reg+0x5E], $r10 ; Get DCCR\n" 1419 + " btstq 8, $r10 ; Test the U-flag.\n" 1420 + " bmi goback\n" 1421 + " nop\n" 1422 + "\n" 1423 + ";;\n" 1424 + ";; Handle the communication\n" 1425 + ";;\n" 1426 + " move.d internal_stack+1020,$sp ; Use the internal stack\n" 1427 + " moveq 2,$r10 ; SIGINT\n" 1428 + " jsr handle_exception ; Interactive routine\n" 1429 + "\n" 1430 + "goback:\n" 1431 + ";;\n" 1432 + ";; Return to the caller\n" 1433 + ";;\n" 1434 + " move.d [cris_reg],$r0 ; Restore R0\n" 1435 + " move.d [cris_reg+0x04],$r1 ; Restore R1\n" 1436 + " move.d [cris_reg+0x08],$r2 ; Restore R2\n" 1437 + " move.d [cris_reg+0x0C],$r3 ; Restore R3\n" 1438 + " move.d [cris_reg+0x10],$r4 ; Restore R4\n" 1439 + " move.d [cris_reg+0x14],$r5 ; Restore R5\n" 1440 + " move.d [cris_reg+0x18],$r6 ; Restore R6\n" 1441 + " move.d [cris_reg+0x1C],$r7 ; Restore R7\n" 1442 + " move.d [cris_reg+0x20],$r8 ; Restore R8\n" 1443 + " move.d [cris_reg+0x24],$r9 ; Restore R9\n" 1444 + " move.d [cris_reg+0x28],$r10 ; Restore R10\n" 1445 + " move.d [cris_reg+0x2C],$r11 ; Restore R11\n" 1446 + " move.d [cris_reg+0x30],$r12 ; Restore R12\n" 1447 + " move.d [cris_reg+0x34],$r13 ; Restore R13\n" 1448 + ";;\n" 1449 + ";; FIXME: Which registers should be restored?\n" 1450 + ";;\n" 1451 + " move.d [cris_reg+0x38],$sp ; Restore SP (R14)\n" 1452 + " move [cris_reg+0x56],$srp ; Restore the subroutine return pointer.\n" 1453 + " move [cris_reg+0x5E],$dccr ; Restore DCCR\n" 1454 + " move [cris_reg+0x66],$usp ; Restore USP\n" 1455 + " reti ; Return from the interrupt routine\n" 1456 + " nop\n" 1457 + "\n"); 1120 1458 1121 1459 /* Use this static breakpoint in the start-up only. */ 1122 1460
-7
arch/cris/arch-v32/drivers/Kconfig
··· 640 640 This option enables a driver for the stream co-processor 641 641 for cryptographic operations. 642 642 643 - source drivers/mmc/Kconfig 644 - 645 643 config ETRAX_MMC_IOP 646 644 tristate "MMC/SD host driver using IO-processor" 647 645 depends on ETRAX_ARCH_V32 && MMC ··· 830 832 help 831 833 The pin to use for the SD/MMC write-protect signal for a memory 832 834 card. If defined as " " (space), the card is considered writable. 833 - 834 - # Avoid choices causing non-working configs by conditionalizing the inclusion. 835 - if ETRAX_SPI_MMC 836 - source drivers/spi/Kconfig 837 - endif 838 835 839 836 endif
+4
arch/cris/include/asm/Kbuild
··· 5 5 6 6 generic-y += clkdev.h 7 7 generic-y += exec.h 8 + generic-y += kvm_para.h 9 + generic-y += linkage.h 8 10 generic-y += module.h 9 11 generic-y += trace_clock.h 12 + generic-y += vga.h 13 + generic-y += xor.h
+3
arch/cris/include/asm/io.h
··· 167 167 cris_iops->write_io(port, (void *)addr, 4, count); 168 168 } 169 169 170 + #define inb_p(port) inb(port) 171 + #define outb_p(val, port) outb((val), (port)) 172 + 170 173 /* 171 174 * Convert a physical pointer to a virtual kernel pointer for /dev/mem 172 175 * access
-6
arch/cris/include/asm/linkage.h
··· 1 - #ifndef __ASM_LINKAGE_H 2 - #define __ASM_LINKAGE_H 3 - 4 - /* Nothing to see here... */ 5 - 6 - #endif
-5
arch/frv/kernel/head.S
··· 479 479 480 480 LEDS 0x000c 481 481 482 - # initialise the processor and the peripherals 483 - #call SYMBOL_NAME(processor_init) 484 - #call SYMBOL_NAME(unit_init) 485 - #LEDS 0x0aff 486 - 487 482 sethi.p #0xe5e5,gr3 488 483 setlo #0xe5e5,gr3 489 484 or.p gr3,gr0,gr4
+1 -117
arch/h8300/Kconfig
··· 94 94 95 95 source "net/Kconfig" 96 96 97 - source "drivers/base/Kconfig" 98 - 99 - source "drivers/mtd/Kconfig" 100 - 101 - source "drivers/block/Kconfig" 102 - 103 - source "drivers/ide/Kconfig" 97 + source "drivers/Kconfig" 104 98 105 99 source "arch/h8300/Kconfig.ide" 106 - 107 - source "drivers/net/Kconfig" 108 - 109 - # 110 - # input - input/joystick depends on it. As does USB. 111 - # 112 - source "drivers/input/Kconfig" 113 - 114 - menu "Character devices" 115 - 116 - config VT 117 - bool "Virtual terminal" 118 - ---help--- 119 - If you say Y here, you will get support for terminal devices with 120 - display and keyboard devices. These are called "virtual" because you 121 - can run several virtual terminals (also called virtual consoles) on 122 - one physical terminal. This is rather useful, for example one 123 - virtual terminal can collect system messages and warnings, another 124 - one can be used for a text-mode user session, and a third could run 125 - an X session, all in parallel. Switching between virtual terminals 126 - is done with certain key combinations, usually Alt-<function key>. 127 - 128 - The setterm command ("man setterm") can be used to change the 129 - properties (such as colors or beeping) of a virtual terminal. The 130 - man page console_codes(4) ("man console_codes") contains the special 131 - character sequences that can be used to change those properties 132 - directly. The fonts used on virtual terminals can be changed with 133 - the setfont ("man setfont") command and the key bindings are defined 134 - with the loadkeys ("man loadkeys") command. 135 - 136 - You need at least one virtual terminal device in order to make use 137 - of your keyboard and monitor. Therefore, only people configuring an 138 - embedded system would want to say N here in order to save some 139 - memory; the only way to log into such a system is then via a serial 140 - or network connection. 141 - 142 - If unsure, say Y, or else you won't be able to do much with your new 143 - shiny Linux system :-) 144 - 145 - config VT_CONSOLE 146 - bool "Support for console on virtual terminal" 147 - depends on VT 148 - ---help--- 149 - The system console is the device which receives all kernel messages 150 - and warnings and which allows logins in single user mode. If you 151 - answer Y here, a virtual terminal (the device used to interact with 152 - a physical terminal) can be used as system console. This is the most 153 - common mode of operations, so you should say Y here unless you want 154 - the kernel messages be output only to a serial port (in which case 155 - you should say Y to "Console on serial port", below). 156 - 157 - If you do say Y here, by default the currently visible virtual 158 - terminal (/dev/tty0) will be used as system console. You can change 159 - that with a kernel command line option such as "console=tty3" which 160 - would use the third virtual terminal as system console. (Try "man 161 - bootparam" or see the documentation of your boot loader (lilo or 162 - loadlin) about how to pass options to the kernel at boot time.) 163 - 164 - If unsure, say Y. 165 - 166 - config HW_CONSOLE 167 - bool 168 - depends on VT 169 - default y 170 - 171 - comment "Unix98 PTY support" 172 - 173 - config UNIX98_PTYS 174 - bool "Unix98 PTY support" 175 - ---help--- 176 - A pseudo terminal (PTY) is a software device consisting of two 177 - halves: a master and a slave. The slave device behaves identical to 178 - a physical terminal; the master device is used by a process to 179 - read data from and write data to the slave, thereby emulating a 180 - terminal. Typical programs for the master side are telnet servers 181 - and xterms. 182 - 183 - Linux has traditionally used the BSD-like names /dev/ptyxx for 184 - masters and /dev/ttyxx for slaves of pseudo terminals. This scheme 185 - has a number of problems. The GNU C library glibc 2.1 and later, 186 - however, supports the Unix98 naming standard: in order to acquire a 187 - pseudo terminal, a process opens /dev/ptmx; the number of the pseudo 188 - terminal is then made available to the process and the pseudo 189 - terminal slave can be accessed as /dev/pts/<number>. What was 190 - traditionally /dev/ttyp2 will then be /dev/pts/2, for example. 191 - 192 - The entries in /dev/pts/ are created on the fly by a virtual 193 - file system; therefore, if you say Y here you should say Y to 194 - "/dev/pts file system for Unix98 PTYs" as well. 195 - 196 - If you want to say Y here, you need to have the C library glibc 2.1 197 - or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*"). 198 - Read the instructions in <file:Documentation/Changes> pertaining to 199 - pseudo terminals. It's safe to say N. 200 - 201 - source "drivers/char/pcmcia/Kconfig" 202 - 203 - source "drivers/tty/serial/Kconfig" 204 - 205 - source "drivers/i2c/Kconfig" 206 - 207 - source "drivers/hwmon/Kconfig" 208 - 209 - source "drivers/usb/Kconfig" 210 - 211 - source "drivers/uwb/Kconfig" 212 - 213 - endmenu 214 - 215 - source "drivers/staging/Kconfig" 216 100 217 101 source "fs/Kconfig" 218 102
+4
arch/h8300/Kconfig.cpu
··· 64 64 65 65 config H83002 66 66 bool "H8/3001,3002,3003" 67 + depends on BROKEN 67 68 select CPU_H8300H 68 69 69 70 config H83007 ··· 73 72 74 73 config H83048 75 74 bool "H8/3044,3045,3046,3047,3048,3052" 75 + depends on BROKEN 76 76 select CPU_H8300H 77 77 78 78 config H83068 ··· 157 155 config H8300_ITU_CH 158 156 int "ITU channel" 159 157 depends on H8300_ITU 158 + range 0 4 160 159 161 160 config H8300_TPU_CH 162 161 int "TPU channel" 163 162 depends on H8300_TPU 163 + range 0 4 164 164 165 165 source "kernel/Kconfig.preempt" 166 166
+1 -1
arch/h8300/boot/compressed/Makefile
··· 16 16 # 17 17 CONFIG_MEMORY_START ?= 0x00400000 18 18 CONFIG_BOOT_LINK_OFFSET ?= 0x00140000 19 - IMAGE_OFFSET := $(shell printf "0x%08x" $$[$(CONFIG_MEMORY_START)+$(CONFIG_BOOT_LINK_OFFSET)]) 19 + IMAGE_OFFSET := $(shell printf "0x%08x" $$(($(CONFIG_MEMORY_START)+$(CONFIG_BOOT_LINK_OFFSET)))) 20 20 21 21 LDFLAGS_vmlinux := -Ttext $(IMAGE_OFFSET) -estartup $(obj)/vmlinux.lds 22 22
+2
arch/h8300/include/asm/Kbuild
··· 1 1 2 2 generic-y += clkdev.h 3 3 generic-y += exec.h 4 + generic-y += linkage.h 4 5 generic-y += mmu.h 5 6 generic-y += module.h 6 7 generic-y += trace_clock.h 8 + generic-y += xor.h
+2
arch/h8300/include/asm/barrier.h
··· 12 12 #define wmb() asm volatile ("" : : :"memory") 13 13 #define set_mb(var, value) do { xchg(&var, value); } while (0) 14 14 15 + #define read_barrier_depends() do { } while (0) 16 + 15 17 #ifdef CONFIG_SMP 16 18 #define smp_mb() mb() 17 19 #define smp_rmb() rmb()
-6
arch/h8300/include/asm/linkage.h
··· 1 - #ifndef _H8300_LINKAGE_H 2 - #define _H8300_LINKAGE_H 3 - 4 - #undef SYMBOL_NAME_LABEL 5 - #define SYMBOL_NAME_LABEL(_name_) _##_name_##: 6 - #endif
-15
arch/h8300/include/asm/tlb.h
··· 1 - /* 2 - include/asm-h8300/tlb.h 3 - */ 4 - 5 - #ifndef __H8300_TLB_H__ 6 - #define __H8300_TLB_H__ 7 - 8 - #define tlb_flush(tlb) do { } while(0) 9 - 10 - /* 11 - include/asm-h8300/tlb.h 12 - */ 13 - 14 1 #ifndef __H8300_TLB_H__ 15 2 #define __H8300_TLB_H__ 16 3 17 4 #define tlb_flush(tlb) do { } while(0) 18 5 19 6 #include <asm-generic/tlb.h> 20 - 21 - #endif 22 7 23 8 #endif
+59 -59
arch/h8300/kernel/entry.S
··· 87 87 bne 5f 88 88 89 89 /* user mode */ 90 - mov.l sp,@SYMBOL_NAME(sw_usp) 90 + mov.l sp,@_sw_usp 91 91 mov.l @sp,er0 /* restore saved er0 */ 92 92 orc #0x10,ccr /* switch kernel stack */ 93 - mov.l @SYMBOL_NAME(sw_ksp),sp 93 + mov.l @_sw_ksp,sp 94 94 sub.l #(LRET-LORIG),sp /* allocate LORIG - LRET */ 95 95 SAVEREGS 96 - mov.l @SYMBOL_NAME(sw_usp),er0 96 + mov.l @_sw_usp,er0 97 97 mov.l @(USERRET:16,er0),er1 /* copy the RET addr */ 98 98 mov.l er1,@(LRET-LER3:16,sp) 99 99 SAVEEXR ··· 128 128 bne 7f 129 129 130 130 orc #0x80,ccr 131 - mov.l @SYMBOL_NAME(sw_usp),er0 131 + mov.l @_sw_usp,er0 132 132 mov.l @(LER0-LER1:16,sp),er1 /* restore ER0 */ 133 133 mov.l er1,@er0 134 134 RESTOREEXR ··· 141 141 142 142 mov.l @sp+,er1 143 143 add.l #(LRET-LER1),sp /* remove LORIG - LRET */ 144 - mov.l sp,@SYMBOL_NAME(sw_ksp) 144 + mov.l sp,@_sw_ksp 145 145 andc #0xef,ccr /* switch to user mode */ 146 146 mov.l er0,sp 147 147 bra 8f ··· 155 155 rte 156 156 .endm 157 157 158 - .globl SYMBOL_NAME(system_call) 159 - .globl SYMBOL_NAME(ret_from_exception) 160 - .globl SYMBOL_NAME(ret_from_fork) 161 - .globl SYMBOL_NAME(ret_from_kernel_thread) 162 - .globl SYMBOL_NAME(ret_from_interrupt) 163 - .globl SYMBOL_NAME(interrupt_redirect_table) 164 - .globl SYMBOL_NAME(sw_ksp),SYMBOL_NAME(sw_usp) 165 - .globl SYMBOL_NAME(resume) 166 - .globl SYMBOL_NAME(interrupt_entry) 167 - .globl SYMBOL_NAME(trace_break) 158 + .globl _system_call 159 + .globl _ret_from_exception 160 + .globl _ret_from_fork 161 + .globl _ret_from_kernel_thread 162 + .globl _ret_from_interrupt 163 + .globl _interrupt_redirect_table 164 + .globl _sw_ksp,_sw_usp 165 + .globl _resume 166 + .globl _interrupt_entry 167 + .globl _trace_break 168 168 169 169 #if defined(CONFIG_ROMKERNEL) 170 170 .section .int_redirect,"ax" 171 - SYMBOL_NAME_LABEL(interrupt_redirect_table) 171 + _interrupt_redirect_table: 172 172 #if defined(CONFIG_CPU_H8300H) 173 173 .rept 7 174 174 .long 0 ··· 178 178 .rept 5 179 179 .long 0 180 180 .endr 181 - jmp @SYMBOL_NAME(trace_break) 181 + jmp @_trace_break 182 182 .long 0 183 183 #endif 184 184 185 - jsr @SYMBOL_NAME(interrupt_entry) /* NMI */ 186 - jmp @SYMBOL_NAME(system_call) /* TRAPA #0 (System call) */ 185 + jsr @_interrupt_entry /* NMI */ 186 + jmp @_system_call /* TRAPA #0 (System call) */ 187 187 .long 0 188 188 .long 0 189 - jmp @SYMBOL_NAME(trace_break) /* TRAPA #3 (breakpoint) */ 189 + jmp @_trace_break /* TRAPA #3 (breakpoint) */ 190 190 .rept INTERRUPTS-12 191 - jsr @SYMBOL_NAME(interrupt_entry) 191 + jsr @_interrupt_entry 192 192 .endr 193 193 #endif 194 194 #if defined(CONFIG_RAMKERNEL) 195 - .globl SYMBOL_NAME(interrupt_redirect_table) 195 + .globl _interrupt_redirect_table 196 196 .section .bss 197 - SYMBOL_NAME_LABEL(interrupt_redirect_table) 197 + _interrupt_redirect_table: 198 198 .space 4 199 199 #endif 200 200 201 201 .section .text 202 202 .align 2 203 - SYMBOL_NAME_LABEL(interrupt_entry) 203 + _interrupt_entry: 204 204 SAVE_ALL 205 205 mov.l sp,er0 206 206 add.l #LVEC,er0 207 207 btst #4,r1l 208 208 bne 1f 209 209 /* user LVEC */ 210 - mov.l @SYMBOL_NAME(sw_usp),er0 210 + mov.l @_sw_usp,er0 211 211 adds #4,er0 212 212 1: 213 213 mov.l @er0,er0 /* LVEC address */ 214 214 #if defined(CONFIG_ROMKERNEL) 215 - sub.l #SYMBOL_NAME(interrupt_redirect_table),er0 215 + sub.l #_interrupt_redirect_table,er0 216 216 #endif 217 217 #if defined(CONFIG_RAMKERNEL) 218 - mov.l @SYMBOL_NAME(interrupt_redirect_table),er1 218 + mov.l @_interrupt_redirect_table,er1 219 219 sub.l er1,er0 220 220 #endif 221 221 SHLR2 er0 222 222 dec.l #1,er0 223 223 mov.l sp,er1 224 224 subs #4,er1 /* adjust ret_pc */ 225 - jsr @SYMBOL_NAME(do_IRQ) 226 - jmp @SYMBOL_NAME(ret_from_interrupt) 225 + jsr @_do_IRQ 226 + jmp @_ret_from_interrupt 227 227 228 - SYMBOL_NAME_LABEL(system_call) 228 + _system_call: 229 229 subs #4,sp /* dummy LVEC */ 230 230 SAVE_ALL 231 231 andc #0x7f,ccr ··· 233 233 234 234 /* save top of frame */ 235 235 mov.l sp,er0 236 - jsr @SYMBOL_NAME(set_esp0) 236 + jsr @_set_esp0 237 237 mov.l sp,er2 238 238 and.w #0xe000,r2 239 239 mov.b @((TI_FLAGS+3-(TIF_SYSCALL_TRACE >> 3)):16,er2),r2l 240 240 btst #(TIF_SYSCALL_TRACE & 7),r2l 241 241 beq 1f 242 - jsr @SYMBOL_NAME(do_syscall_trace) 242 + jsr @_do_syscall_trace 243 243 1: 244 244 cmp.l #NR_syscalls,er4 245 245 bcc badsys 246 246 SHLL2 er4 247 - mov.l #SYMBOL_NAME(sys_call_table),er0 247 + mov.l #_sys_call_table,er0 248 248 add.l er4,er0 249 249 mov.l @er0,er4 250 - beq SYMBOL_NAME(ret_from_exception):16 250 + beq _ret_from_exception:16 251 251 mov.l @(LER1:16,sp),er0 252 252 mov.l @(LER2:16,sp),er1 253 253 mov.l @(LER3:16,sp),er2 ··· 258 258 mov.b @((TI_FLAGS+3-(TIF_SYSCALL_TRACE >> 3)):16,er2),r2l 259 259 btst #(TIF_SYSCALL_TRACE & 7),r2l 260 260 beq 2f 261 - jsr @SYMBOL_NAME(do_syscall_trace) 261 + jsr @_do_syscall_trace 262 262 2: 263 263 #if defined(CONFIG_SYSCALL_PRINT) 264 - jsr @SYMBOL_NAME(syscall_print) 264 + jsr @_syscall_print 265 265 #endif 266 266 orc #0x80,ccr 267 267 bra resume_userspace ··· 275 275 #define resume_kernel restore_all 276 276 #endif 277 277 278 - SYMBOL_NAME_LABEL(ret_from_exception) 278 + _ret_from_exception: 279 279 #if defined(CONFIG_PREEMPT) 280 280 orc #0x80,ccr 281 281 #endif 282 - SYMBOL_NAME_LABEL(ret_from_interrupt) 282 + _ret_from_interrupt: 283 283 mov.b @(LCCR+1:16,sp),r0l 284 284 btst #4,r0l 285 285 bne resume_kernel:8 /* return from kernel */ ··· 296 296 /* work notifysig */ 297 297 mov.l sp,er0 298 298 subs #4,er0 /* er0: pt_regs */ 299 - jsr @SYMBOL_NAME(do_notify_resume) 299 + jsr @_do_notify_resume 300 300 bra restore_all:8 301 301 work_resched: 302 302 mov.l sp,er0 303 - jsr @SYMBOL_NAME(set_esp0) 304 - jsr @SYMBOL_NAME(schedule) 303 + jsr @_set_esp0 304 + jsr @_schedule 305 305 bra resume_userspace:8 306 306 restore_all: 307 307 RESTORE_ALL /* Does RTE */ ··· 320 320 mov.l er0,@(TI_PRE_COUNT:16,er4) 321 321 andc #0x7f,ccr 322 322 mov.l sp,er0 323 - jsr @SYMBOL_NAME(set_esp0) 324 - jsr @SYMBOL_NAME(schedule) 323 + jsr @_set_esp0 324 + jsr @_schedule 325 325 orc #0x80,ccr 326 326 bra need_resched:8 327 327 #endif 328 328 329 - SYMBOL_NAME_LABEL(ret_from_fork) 329 + _ret_from_fork: 330 330 mov.l er2,er0 331 - jsr @SYMBOL_NAME(schedule_tail) 332 - jmp @SYMBOL_NAME(ret_from_exception) 331 + jsr @_schedule_tail 332 + jmp @_ret_from_exception 333 333 334 - SYMBOL_NAME_LABEL(ret_from_kernel_thread) 334 + _ret_from_kernel_thread: 335 335 mov.l er2,er0 336 - jsr @SYMBOL_NAME(schedule_tail) 336 + jsr @_schedule_tail 337 337 mov.l @(LER4:16,sp),er0 338 338 mov.l @(LER5:16,sp),er1 339 339 jsr @er1 340 - jmp @SYMBOL_NAME(ret_from_exception) 340 + jmp @_ret_from_exception 341 341 342 - SYMBOL_NAME_LABEL(resume) 342 + _resume: 343 343 /* 344 344 * Beware - when entering resume, offset of tss is in d1, 345 345 * prev (the current task) is in a0, next (the new task) ··· 355 355 356 356 /* disable interrupts */ 357 357 orc #0x80,ccr 358 - mov.l @SYMBOL_NAME(sw_usp),er3 358 + mov.l @_sw_usp,er3 359 359 mov.l er3,@(THREAD_USP:16,er0) 360 360 mov.l sp,@(THREAD_KSP:16,er0) 361 361 ··· 363 363 /* FIXME: what did we hack out of here, this does nothing! */ 364 364 365 365 mov.l @(THREAD_USP:16,er1),er0 366 - mov.l er0,@SYMBOL_NAME(sw_usp) 366 + mov.l er0,@_sw_usp 367 367 mov.l @(THREAD_KSP:16,er1),sp 368 368 369 369 /* restore status register */ ··· 372 372 ldc r3l,ccr 373 373 rts 374 374 375 - SYMBOL_NAME_LABEL(trace_break) 375 + _trace_break: 376 376 subs #4,sp 377 377 SAVE_ALL 378 378 sub.l er1,er1 379 379 dec.l #1,er1 380 380 mov.l er1,@(LORIG,sp) 381 381 mov.l sp,er0 382 - jsr @SYMBOL_NAME(set_esp0) 383 - mov.l @SYMBOL_NAME(sw_usp),er0 382 + jsr @_set_esp0 383 + mov.l @_sw_usp,er0 384 384 mov.l @er0,er1 385 385 mov.w @(-2:16,er1),r2 386 386 cmp.w #0x5730,r2 ··· 390 390 1: 391 391 and.w #0xff,e1 392 392 mov.l er1,er0 393 - jsr @SYMBOL_NAME(trace_trap) 394 - jmp @SYMBOL_NAME(ret_from_exception) 393 + jsr @_trace_trap 394 + jmp @_ret_from_exception 395 395 396 396 .section .bss 397 - SYMBOL_NAME_LABEL(sw_ksp) 397 + _sw_ksp: 398 398 .space 4 399 - SYMBOL_NAME_LABEL(sw_usp) 399 + _sw_usp: 400 400 .space 4 401 401 402 402 .end
+325 -323
arch/h8300/kernel/syscalls.S
··· 2 2 #include <linux/sys.h> 3 3 #include <asm/linkage.h> 4 4 #include <asm/unistd.h> 5 - 6 - .globl SYMBOL_NAME(sys_call_table) 5 + 6 + #define CALL(x) .long _ ## x 7 + 8 + .globl _sys_call_table 7 9 8 10 #if defined(CONFIG_CPU_H8300H) 9 11 .h8300h ··· 15 13 #endif 16 14 .section .text 17 15 .align 2 18 - SYMBOL_NAME_LABEL(sys_call_table) 19 - .long SYMBOL_NAME(sys_ni_syscall) /* 0 - old "setup()" system call*/ 20 - .long SYMBOL_NAME(sys_exit) 21 - .long SYMBOL_NAME(sys_fork) 22 - .long SYMBOL_NAME(sys_read) 23 - .long SYMBOL_NAME(sys_write) 24 - .long SYMBOL_NAME(sys_open) /* 5 */ 25 - .long SYMBOL_NAME(sys_close) 26 - .long SYMBOL_NAME(sys_waitpid) 27 - .long SYMBOL_NAME(sys_creat) 28 - .long SYMBOL_NAME(sys_link) 29 - .long SYMBOL_NAME(sys_unlink) /* 10 */ 30 - .long SYMBOL_NAME(sys_execve) 31 - .long SYMBOL_NAME(sys_chdir) 32 - .long SYMBOL_NAME(sys_time) 33 - .long SYMBOL_NAME(sys_mknod) 34 - .long SYMBOL_NAME(sys_chmod) /* 15 */ 35 - .long SYMBOL_NAME(sys_chown16) 36 - .long SYMBOL_NAME(sys_ni_syscall) /* old break syscall holder */ 37 - .long SYMBOL_NAME(sys_stat) 38 - .long SYMBOL_NAME(sys_lseek) 39 - .long SYMBOL_NAME(sys_getpid) /* 20 */ 40 - .long SYMBOL_NAME(sys_mount) 41 - .long SYMBOL_NAME(sys_oldumount) 42 - .long SYMBOL_NAME(sys_setuid16) 43 - .long SYMBOL_NAME(sys_getuid16) 44 - .long SYMBOL_NAME(sys_stime) /* 25 */ 45 - .long SYMBOL_NAME(sys_ptrace) 46 - .long SYMBOL_NAME(sys_alarm) 47 - .long SYMBOL_NAME(sys_fstat) 48 - .long SYMBOL_NAME(sys_pause) 49 - .long SYMBOL_NAME(sys_utime) /* 30 */ 50 - .long SYMBOL_NAME(sys_ni_syscall) /* old stty syscall holder */ 51 - .long SYMBOL_NAME(sys_ni_syscall) /* old gtty syscall holder */ 52 - .long SYMBOL_NAME(sys_access) 53 - .long SYMBOL_NAME(sys_nice) 54 - .long SYMBOL_NAME(sys_ni_syscall) /* 35 old ftime syscall holder */ 55 - .long SYMBOL_NAME(sys_sync) 56 - .long SYMBOL_NAME(sys_kill) 57 - .long SYMBOL_NAME(sys_rename) 58 - .long SYMBOL_NAME(sys_mkdir) 59 - .long SYMBOL_NAME(sys_rmdir) /* 40 */ 60 - .long SYMBOL_NAME(sys_dup) 61 - .long SYMBOL_NAME(sys_pipe) 62 - .long SYMBOL_NAME(sys_times) 63 - .long SYMBOL_NAME(sys_ni_syscall) /* old prof syscall holder */ 64 - .long SYMBOL_NAME(sys_brk) /* 45 */ 65 - .long SYMBOL_NAME(sys_setgid16) 66 - .long SYMBOL_NAME(sys_getgid16) 67 - .long SYMBOL_NAME(sys_signal) 68 - .long SYMBOL_NAME(sys_geteuid16) 69 - .long SYMBOL_NAME(sys_getegid16) /* 50 */ 70 - .long SYMBOL_NAME(sys_acct) 71 - .long SYMBOL_NAME(sys_umount) /* recycled never used phys() */ 72 - .long SYMBOL_NAME(sys_ni_syscall) /* old lock syscall holder */ 73 - .long SYMBOL_NAME(sys_ioctl) 74 - .long SYMBOL_NAME(sys_fcntl) /* 55 */ 75 - .long SYMBOL_NAME(sys_ni_syscall) /* old mpx syscall holder */ 76 - .long SYMBOL_NAME(sys_setpgid) 77 - .long SYMBOL_NAME(sys_ni_syscall) /* old ulimit syscall holder */ 78 - .long SYMBOL_NAME(sys_ni_syscall) 79 - .long SYMBOL_NAME(sys_umask) /* 60 */ 80 - .long SYMBOL_NAME(sys_chroot) 81 - .long SYMBOL_NAME(sys_ustat) 82 - .long SYMBOL_NAME(sys_dup2) 83 - .long SYMBOL_NAME(sys_getppid) 84 - .long SYMBOL_NAME(sys_getpgrp) /* 65 */ 85 - .long SYMBOL_NAME(sys_setsid) 86 - .long SYMBOL_NAME(sys_sigaction) 87 - .long SYMBOL_NAME(sys_sgetmask) 88 - .long SYMBOL_NAME(sys_ssetmask) 89 - .long SYMBOL_NAME(sys_setreuid16) /* 70 */ 90 - .long SYMBOL_NAME(sys_setregid16) 91 - .long SYMBOL_NAME(sys_sigsuspend) 92 - .long SYMBOL_NAME(sys_sigpending) 93 - .long SYMBOL_NAME(sys_sethostname) 94 - .long SYMBOL_NAME(sys_setrlimit) /* 75 */ 95 - .long SYMBOL_NAME(sys_old_getrlimit) 96 - .long SYMBOL_NAME(sys_getrusage) 97 - .long SYMBOL_NAME(sys_gettimeofday) 98 - .long SYMBOL_NAME(sys_settimeofday) 99 - .long SYMBOL_NAME(sys_getgroups16) /* 80 */ 100 - .long SYMBOL_NAME(sys_setgroups16) 101 - .long SYMBOL_NAME(sys_old_select) 102 - .long SYMBOL_NAME(sys_symlink) 103 - .long SYMBOL_NAME(sys_lstat) 104 - .long SYMBOL_NAME(sys_readlink) /* 85 */ 105 - .long SYMBOL_NAME(sys_uselib) 106 - .long SYMBOL_NAME(sys_swapon) 107 - .long SYMBOL_NAME(sys_reboot) 108 - .long SYMBOL_NAME(sys_old_readdir) 109 - .long SYMBOL_NAME(sys_old_mmap) /* 90 */ 110 - .long SYMBOL_NAME(sys_munmap) 111 - .long SYMBOL_NAME(sys_truncate) 112 - .long SYMBOL_NAME(sys_ftruncate) 113 - .long SYMBOL_NAME(sys_fchmod) 114 - .long SYMBOL_NAME(sys_fchown16) /* 95 */ 115 - .long SYMBOL_NAME(sys_getpriority) 116 - .long SYMBOL_NAME(sys_setpriority) 117 - .long SYMBOL_NAME(sys_ni_syscall) /* old profil syscall holder */ 118 - .long SYMBOL_NAME(sys_statfs) 119 - .long SYMBOL_NAME(sys_fstatfs) /* 100 */ 120 - .long SYMBOL_NAME(sys_ni_syscall) /* ioperm for i386 */ 121 - .long SYMBOL_NAME(sys_socketcall) 122 - .long SYMBOL_NAME(sys_syslog) 123 - .long SYMBOL_NAME(sys_setitimer) 124 - .long SYMBOL_NAME(sys_getitimer) /* 105 */ 125 - .long SYMBOL_NAME(sys_newstat) 126 - .long SYMBOL_NAME(sys_newlstat) 127 - .long SYMBOL_NAME(sys_newfstat) 128 - .long SYMBOL_NAME(sys_ni_syscall) 129 - .long SYMBOL_NAME(sys_ni_syscall) /* iopl for i386 */ /* 110 */ 130 - .long SYMBOL_NAME(sys_vhangup) 131 - .long SYMBOL_NAME(sys_ni_syscall) /* obsolete idle() syscall */ 132 - .long SYMBOL_NAME(sys_ni_syscall) /* vm86old for i386 */ 133 - .long SYMBOL_NAME(sys_wait4) 134 - .long SYMBOL_NAME(sys_swapoff) /* 115 */ 135 - .long SYMBOL_NAME(sys_sysinfo) 136 - .long SYMBOL_NAME(sys_ipc) 137 - .long SYMBOL_NAME(sys_fsync) 138 - .long SYMBOL_NAME(sys_sigreturn) 139 - .long SYMBOL_NAME(sys_clone) /* 120 */ 140 - .long SYMBOL_NAME(sys_setdomainname) 141 - .long SYMBOL_NAME(sys_newuname) 142 - .long SYMBOL_NAME(sys_cacheflush) /* modify_ldt for i386 */ 143 - .long SYMBOL_NAME(sys_adjtimex) 144 - .long SYMBOL_NAME(sys_ni_syscall) /* 125 sys_mprotect */ 145 - .long SYMBOL_NAME(sys_sigprocmask) 146 - .long SYMBOL_NAME(sys_ni_syscall) /* sys_create_module */ 147 - .long SYMBOL_NAME(sys_init_module) 148 - .long SYMBOL_NAME(sys_delete_module) 149 - .long SYMBOL_NAME(sys_ni_syscall) /* 130 sys_get_kernel_syms */ 150 - .long SYMBOL_NAME(sys_quotactl) 151 - .long SYMBOL_NAME(sys_getpgid) 152 - .long SYMBOL_NAME(sys_fchdir) 153 - .long SYMBOL_NAME(sys_bdflush) 154 - .long SYMBOL_NAME(sys_sysfs) /* 135 */ 155 - .long SYMBOL_NAME(sys_personality) 156 - .long SYMBOL_NAME(sys_ni_syscall) /* for afs_syscall */ 157 - .long SYMBOL_NAME(sys_setfsuid16) 158 - .long SYMBOL_NAME(sys_setfsgid16) 159 - .long SYMBOL_NAME(sys_llseek) /* 140 */ 160 - .long SYMBOL_NAME(sys_getdents) 161 - .long SYMBOL_NAME(sys_select) 162 - .long SYMBOL_NAME(sys_flock) 163 - .long SYMBOL_NAME(sys_ni_syscall) /* sys_msync */ 164 - .long SYMBOL_NAME(sys_readv) /* 145 */ 165 - .long SYMBOL_NAME(sys_writev) 166 - .long SYMBOL_NAME(sys_getsid) 167 - .long SYMBOL_NAME(sys_fdatasync) 168 - .long SYMBOL_NAME(sys_sysctl) 169 - .long SYMBOL_NAME(sys_ni_syscall) /* 150 sys_mlock */ 170 - .long SYMBOL_NAME(sys_ni_syscall) /* sys_munlock */ 171 - .long SYMBOL_NAME(sys_ni_syscall) /* sys_mlockall */ 172 - .long SYMBOL_NAME(sys_ni_syscall) /* sys_munlockall */ 173 - .long SYMBOL_NAME(sys_sched_setparam) 174 - .long SYMBOL_NAME(sys_sched_getparam) /* 155 */ 175 - .long SYMBOL_NAME(sys_sched_setscheduler) 176 - .long SYMBOL_NAME(sys_sched_getscheduler) 177 - .long SYMBOL_NAME(sys_sched_yield) 178 - .long SYMBOL_NAME(sys_sched_get_priority_max) 179 - .long SYMBOL_NAME(sys_sched_get_priority_min) /* 160 */ 180 - .long SYMBOL_NAME(sys_sched_rr_get_interval) 181 - .long SYMBOL_NAME(sys_nanosleep) 182 - .long SYMBOL_NAME(sys_ni_syscall) /* sys_mremap */ 183 - .long SYMBOL_NAME(sys_setresuid16) 184 - .long SYMBOL_NAME(sys_getresuid16) /* 165 */ 185 - .long SYMBOL_NAME(sys_ni_syscall) /* for vm86 */ 186 - .long SYMBOL_NAME(sys_ni_syscall) /* sys_query_module */ 187 - .long SYMBOL_NAME(sys_poll) 188 - .long SYMBOL_NAME(sys_ni_syscall) /* old nfsservctl */ 189 - .long SYMBOL_NAME(sys_setresgid16) /* 170 */ 190 - .long SYMBOL_NAME(sys_getresgid16) 191 - .long SYMBOL_NAME(sys_prctl) 192 - .long SYMBOL_NAME(sys_rt_sigreturn) 193 - .long SYMBOL_NAME(sys_rt_sigaction) 194 - .long SYMBOL_NAME(sys_rt_sigprocmask) /* 175 */ 195 - .long SYMBOL_NAME(sys_rt_sigpending) 196 - .long SYMBOL_NAME(sys_rt_sigtimedwait) 197 - .long SYMBOL_NAME(sys_rt_sigqueueinfo) 198 - .long SYMBOL_NAME(sys_rt_sigsuspend) 199 - .long SYMBOL_NAME(sys_pread64) /* 180 */ 200 - .long SYMBOL_NAME(sys_pwrite64) 201 - .long SYMBOL_NAME(sys_lchown16); 202 - .long SYMBOL_NAME(sys_getcwd) 203 - .long SYMBOL_NAME(sys_capget) 204 - .long SYMBOL_NAME(sys_capset) /* 185 */ 205 - .long SYMBOL_NAME(sys_sigaltstack) 206 - .long SYMBOL_NAME(sys_sendfile) 207 - .long SYMBOL_NAME(sys_ni_syscall) /* streams1 */ 208 - .long SYMBOL_NAME(sys_ni_syscall) /* streams2 */ 209 - .long SYMBOL_NAME(sys_vfork) /* 190 */ 210 - .long SYMBOL_NAME(sys_getrlimit) 211 - .long SYMBOL_NAME(sys_mmap_pgoff) 212 - .long SYMBOL_NAME(sys_truncate64) 213 - .long SYMBOL_NAME(sys_ftruncate64) 214 - .long SYMBOL_NAME(sys_stat64) /* 195 */ 215 - .long SYMBOL_NAME(sys_lstat64) 216 - .long SYMBOL_NAME(sys_fstat64) 217 - .long SYMBOL_NAME(sys_chown) 218 - .long SYMBOL_NAME(sys_getuid) 219 - .long SYMBOL_NAME(sys_getgid) /* 200 */ 220 - .long SYMBOL_NAME(sys_geteuid) 221 - .long SYMBOL_NAME(sys_getegid) 222 - .long SYMBOL_NAME(sys_setreuid) 223 - .long SYMBOL_NAME(sys_setregid) 224 - .long SYMBOL_NAME(sys_getgroups) /* 205 */ 225 - .long SYMBOL_NAME(sys_setgroups) 226 - .long SYMBOL_NAME(sys_fchown) 227 - .long SYMBOL_NAME(sys_setresuid) 228 - .long SYMBOL_NAME(sys_getresuid) 229 - .long SYMBOL_NAME(sys_setresgid) /* 210 */ 230 - .long SYMBOL_NAME(sys_getresgid) 231 - .long SYMBOL_NAME(sys_lchown) 232 - .long SYMBOL_NAME(sys_setuid) 233 - .long SYMBOL_NAME(sys_setgid) 234 - .long SYMBOL_NAME(sys_setfsuid) /* 215 */ 235 - .long SYMBOL_NAME(sys_setfsgid) 236 - .long SYMBOL_NAME(sys_pivot_root) 237 - .long SYMBOL_NAME(sys_ni_syscall) 238 - .long SYMBOL_NAME(sys_ni_syscall) 239 - .long SYMBOL_NAME(sys_getdents64) /* 220 */ 240 - .long SYMBOL_NAME(sys_fcntl64) 241 - .long SYMBOL_NAME(sys_ni_syscall) /* reserved TUX */ 242 - .long SYMBOL_NAME(sys_ni_syscall) /* reserved Security */ 243 - .long SYMBOL_NAME(sys_gettid) 244 - .long SYMBOL_NAME(sys_readahead) /* 225 */ 245 - .long SYMBOL_NAME(sys_setxattr) 246 - .long SYMBOL_NAME(sys_lsetxattr) 247 - .long SYMBOL_NAME(sys_fsetxattr) 248 - .long SYMBOL_NAME(sys_getxattr) 249 - .long SYMBOL_NAME(sys_lgetxattr) /* 230 */ 250 - .long SYMBOL_NAME(sys_fgetxattr) 251 - .long SYMBOL_NAME(sys_listxattr) 252 - .long SYMBOL_NAME(sys_llistxattr) 253 - .long SYMBOL_NAME(sys_flistxattr) 254 - .long SYMBOL_NAME(sys_removexattr) /* 235 */ 255 - .long SYMBOL_NAME(sys_lremovexattr) 256 - .long SYMBOL_NAME(sys_fremovexattr) 257 - .long SYMBOL_NAME(sys_tkill) 258 - .long SYMBOL_NAME(sys_sendfile64) 259 - .long SYMBOL_NAME(sys_futex) /* 240 */ 260 - .long SYMBOL_NAME(sys_sched_setaffinity) 261 - .long SYMBOL_NAME(sys_sched_getaffinity) 262 - .long SYMBOL_NAME(sys_ni_syscall) 263 - .long SYMBOL_NAME(sys_ni_syscall) 264 - .long SYMBOL_NAME(sys_io_setup) /* 245 */ 265 - .long SYMBOL_NAME(sys_io_destroy) 266 - .long SYMBOL_NAME(sys_io_getevents) 267 - .long SYMBOL_NAME(sys_io_submit) 268 - .long SYMBOL_NAME(sys_io_cancel) 269 - .long SYMBOL_NAME(sys_fadvise64) /* 250 */ 270 - .long SYMBOL_NAME(sys_ni_syscall) 271 - .long SYMBOL_NAME(sys_exit_group) 272 - .long SYMBOL_NAME(sys_lookup_dcookie) 273 - .long SYMBOL_NAME(sys_epoll_create) 274 - .long SYMBOL_NAME(sys_epoll_ctl) /* 255 */ 275 - .long SYMBOL_NAME(sys_epoll_wait) 276 - .long SYMBOL_NAME(sys_ni_syscall) /* sys_remap_file_pages */ 277 - .long SYMBOL_NAME(sys_set_tid_address) 278 - .long SYMBOL_NAME(sys_timer_create) 279 - .long SYMBOL_NAME(sys_timer_settime) /* 260 */ 280 - .long SYMBOL_NAME(sys_timer_gettime) 281 - .long SYMBOL_NAME(sys_timer_getoverrun) 282 - .long SYMBOL_NAME(sys_timer_delete) 283 - .long SYMBOL_NAME(sys_clock_settime) 284 - .long SYMBOL_NAME(sys_clock_gettime) /* 265 */ 285 - .long SYMBOL_NAME(sys_clock_getres) 286 - .long SYMBOL_NAME(sys_clock_nanosleep) 287 - .long SYMBOL_NAME(sys_statfs64) 288 - .long SYMBOL_NAME(sys_fstatfs64) 289 - .long SYMBOL_NAME(sys_tgkill) /* 270 */ 290 - .long SYMBOL_NAME(sys_utimes) 291 - .long SYMBOL_NAME(sys_fadvise64_64) 292 - .long SYMBOL_NAME(sys_ni_syscall) /* sys_vserver */ 293 - .long SYMBOL_NAME(sys_ni_syscall) 294 - .long SYMBOL_NAME(sys_get_mempolicy) /* 275 */ 295 - .long SYMBOL_NAME(sys_set_mempolicy) 296 - .long SYMBOL_NAME(sys_mq_open) 297 - .long SYMBOL_NAME(sys_mq_unlink) 298 - .long SYMBOL_NAME(sys_mq_timedsend) 299 - .long SYMBOL_NAME(sys_mq_timedreceive) /* 280 */ 300 - .long SYMBOL_NAME(sys_mq_notify) 301 - .long SYMBOL_NAME(sys_mq_getsetattr) 302 - .long SYMBOL_NAME(sys_waitid) 303 - .long SYMBOL_NAME(sys_ni_syscall) /* sys_kexec_load */ 304 - .long SYMBOL_NAME(sys_add_key) /* 285 */ 305 - .long SYMBOL_NAME(sys_request_key) 306 - .long SYMBOL_NAME(sys_keyctl) 307 - .long SYMBOL_NAME(sys_ioprio_set) 308 - .long SYMBOL_NAME(sys_ioprio_get) /* 290 */ 309 - .long SYMBOL_NAME(sys_inotify_init) 310 - .long SYMBOL_NAME(sys_inotify_add_watch) 311 - .long SYMBOL_NAME(sys_inotify_rm_watch) 312 - .long SYMBOL_NAME(sys_migrate_pages) 313 - .long SYMBOL_NAME(sys_openat) /* 295 */ 314 - .long SYMBOL_NAME(sys_mkdirat) 315 - .long SYMBOL_NAME(sys_mknodat) 316 - .long SYMBOL_NAME(sys_fchownat) 317 - .long SYMBOL_NAME(sys_futimesat) 318 - .long SYMBOL_NAME(sys_fstatat64) /* 300 */ 319 - .long SYMBOL_NAME(sys_unlinkat) 320 - .long SYMBOL_NAME(sys_renameat) 321 - .long SYMBOL_NAME(sys_linkat) 322 - .long SYMBOL_NAME(sys_symlinkat) 323 - .long SYMBOL_NAME(sys_readlinkat) /* 305 */ 324 - .long SYMBOL_NAME(sys_fchmodat) 325 - .long SYMBOL_NAME(sys_faccessat) 326 - .long SYMBOL_NAME(sys_ni_syscall) /* sys_pselect6 */ 327 - .long SYMBOL_NAME(sys_ni_syscall) /* sys_ppoll */ 328 - .long SYMBOL_NAME(sys_unshare) /* 310 */ 329 - .long SYMBOL_NAME(sys_set_robust_list) 330 - .long SYMBOL_NAME(sys_get_robust_list) 331 - .long SYMBOL_NAME(sys_splice) 332 - .long SYMBOL_NAME(sys_sync_file_range) 333 - .long SYMBOL_NAME(sys_tee) /* 315 */ 334 - .long SYMBOL_NAME(sys_vmsplice) 335 - .long SYMBOL_NAME(sys_ni_syscall) /* sys_move_pages */ 336 - .long SYMBOL_NAME(sys_getcpu) 337 - .long SYMBOL_NAME(sys_ni_syscall) /* sys_epoll_pwait */ 338 - .long SYMBOL_NAME(sys_setns) /* 320 */ 16 + _sys_call_table: 17 + CALL(sys_ni_syscall) /* 0 - old "setup()" system call*/ 18 + CALL(sys_exit) 19 + CALL(sys_fork) 20 + CALL(sys_read) 21 + CALL(sys_write) 22 + CALL(sys_open) /* 5 */ 23 + CALL(sys_close) 24 + CALL(sys_waitpid) 25 + CALL(sys_creat) 26 + CALL(sys_link) 27 + CALL(sys_unlink) /* 10 */ 28 + CALL(sys_execve) 29 + CALL(sys_chdir) 30 + CALL(sys_time) 31 + CALL(sys_mknod) 32 + CALL(sys_chmod) /* 15 */ 33 + CALL(sys_chown16) 34 + CALL(sys_ni_syscall) /* old break syscall holder */ 35 + CALL(sys_stat) 36 + CALL(sys_lseek) 37 + CALL(sys_getpid) /* 20 */ 38 + CALL(sys_mount) 39 + CALL(sys_oldumount) 40 + CALL(sys_setuid16) 41 + CALL(sys_getuid16) 42 + CALL(sys_stime) /* 25 */ 43 + CALL(sys_ptrace) 44 + CALL(sys_alarm) 45 + CALL(sys_fstat) 46 + CALL(sys_pause) 47 + CALL(sys_utime) /* 30 */ 48 + CALL(sys_ni_syscall) /* old stty syscall holder */ 49 + CALL(sys_ni_syscall) /* old gtty syscall holder */ 50 + CALL(sys_access) 51 + CALL(sys_nice) 52 + CALL(sys_ni_syscall) /* 35 old ftime syscall holder */ 53 + CALL(sys_sync) 54 + CALL(sys_kill) 55 + CALL(sys_rename) 56 + CALL(sys_mkdir) 57 + CALL(sys_rmdir) /* 40 */ 58 + CALL(sys_dup) 59 + CALL(sys_pipe) 60 + CALL(sys_times) 61 + CALL(sys_ni_syscall) /* old prof syscall holder */ 62 + CALL(sys_brk) /* 45 */ 63 + CALL(sys_setgid16) 64 + CALL(sys_getgid16) 65 + CALL(sys_signal) 66 + CALL(sys_geteuid16) 67 + CALL(sys_getegid16) /* 50 */ 68 + CALL(sys_acct) 69 + CALL(sys_umount) /* recycled never used phys() */ 70 + CALL(sys_ni_syscall) /* old lock syscall holder */ 71 + CALL(sys_ioctl) 72 + CALL(sys_fcntl) /* 55 */ 73 + CALL(sys_ni_syscall) /* old mpx syscall holder */ 74 + CALL(sys_setpgid) 75 + CALL(sys_ni_syscall) /* old ulimit syscall holder */ 76 + CALL(sys_ni_syscall) 77 + CALL(sys_umask) /* 60 */ 78 + CALL(sys_chroot) 79 + CALL(sys_ustat) 80 + CALL(sys_dup2) 81 + CALL(sys_getppid) 82 + CALL(sys_getpgrp) /* 65 */ 83 + CALL(sys_setsid) 84 + CALL(sys_sigaction) 85 + CALL(sys_sgetmask) 86 + CALL(sys_ssetmask) 87 + CALL(sys_setreuid16) /* 70 */ 88 + CALL(sys_setregid16) 89 + CALL(sys_sigsuspend) 90 + CALL(sys_sigpending) 91 + CALL(sys_sethostname) 92 + CALL(sys_setrlimit) /* 75 */ 93 + CALL(sys_old_getrlimit) 94 + CALL(sys_getrusage) 95 + CALL(sys_gettimeofday) 96 + CALL(sys_settimeofday) 97 + CALL(sys_getgroups16) /* 80 */ 98 + CALL(sys_setgroups16) 99 + CALL(sys_old_select) 100 + CALL(sys_symlink) 101 + CALL(sys_lstat) 102 + CALL(sys_readlink) /* 85 */ 103 + CALL(sys_uselib) 104 + CALL(sys_swapon) 105 + CALL(sys_reboot) 106 + CALL(sys_old_readdir) 107 + CALL(sys_old_mmap) /* 90 */ 108 + CALL(sys_munmap) 109 + CALL(sys_truncate) 110 + CALL(sys_ftruncate) 111 + CALL(sys_fchmod) 112 + CALL(sys_fchown16) /* 95 */ 113 + CALL(sys_getpriority) 114 + CALL(sys_setpriority) 115 + CALL(sys_ni_syscall) /* old profil syscall holder */ 116 + CALL(sys_statfs) 117 + CALL(sys_fstatfs) /* 100 */ 118 + CALL(sys_ni_syscall) /* ioperm for i386 */ 119 + CALL(sys_socketcall) 120 + CALL(sys_syslog) 121 + CALL(sys_setitimer) 122 + CALL(sys_getitimer) /* 105 */ 123 + CALL(sys_newstat) 124 + CALL(sys_newlstat) 125 + CALL(sys_newfstat) 126 + CALL(sys_ni_syscall) 127 + CALL(sys_ni_syscall) /* iopl for i386 */ /* 110 */ 128 + CALL(sys_vhangup) 129 + CALL(sys_ni_syscall) /* obsolete idle() syscall */ 130 + CALL(sys_ni_syscall) /* vm86old for i386 */ 131 + CALL(sys_wait4) 132 + CALL(sys_swapoff) /* 115 */ 133 + CALL(sys_sysinfo) 134 + CALL(sys_ipc) 135 + CALL(sys_fsync) 136 + CALL(sys_sigreturn) 137 + CALL(sys_clone) /* 120 */ 138 + CALL(sys_setdomainname) 139 + CALL(sys_newuname) 140 + CALL(sys_cacheflush) /* modify_ldt for i386 */ 141 + CALL(sys_adjtimex) 142 + CALL(sys_ni_syscall) /* 125 sys_mprotect */ 143 + CALL(sys_sigprocmask) 144 + CALL(sys_ni_syscall) /* sys_create_module */ 145 + CALL(sys_init_module) 146 + CALL(sys_delete_module) 147 + CALL(sys_ni_syscall) /* 130 sys_get_kernel_syms */ 148 + CALL(sys_quotactl) 149 + CALL(sys_getpgid) 150 + CALL(sys_fchdir) 151 + CALL(sys_bdflush) 152 + CALL(sys_sysfs) /* 135 */ 153 + CALL(sys_personality) 154 + CALL(sys_ni_syscall) /* for afs_syscall */ 155 + CALL(sys_setfsuid16) 156 + CALL(sys_setfsgid16) 157 + CALL(sys_llseek) /* 140 */ 158 + CALL(sys_getdents) 159 + CALL(sys_select) 160 + CALL(sys_flock) 161 + CALL(sys_ni_syscall) /* sys_msync */ 162 + CALL(sys_readv) /* 145 */ 163 + CALL(sys_writev) 164 + CALL(sys_getsid) 165 + CALL(sys_fdatasync) 166 + CALL(sys_sysctl) 167 + CALL(sys_ni_syscall) /* 150 sys_mlock */ 168 + CALL(sys_ni_syscall) /* sys_munlock */ 169 + CALL(sys_ni_syscall) /* sys_mlockall */ 170 + CALL(sys_ni_syscall) /* sys_munlockall */ 171 + CALL(sys_sched_setparam) 172 + CALL(sys_sched_getparam) /* 155 */ 173 + CALL(sys_sched_setscheduler) 174 + CALL(sys_sched_getscheduler) 175 + CALL(sys_sched_yield) 176 + CALL(sys_sched_get_priority_max) 177 + CALL(sys_sched_get_priority_min) /* 160 */ 178 + CALL(sys_sched_rr_get_interval) 179 + CALL(sys_nanosleep) 180 + CALL(sys_ni_syscall) /* sys_mremap */ 181 + CALL(sys_setresuid16) 182 + CALL(sys_getresuid16) /* 165 */ 183 + CALL(sys_ni_syscall) /* for vm86 */ 184 + CALL(sys_ni_syscall) /* sys_query_module */ 185 + CALL(sys_poll) 186 + CALL(sys_ni_syscall) /* old nfsservctl */ 187 + CALL(sys_setresgid16) /* 170 */ 188 + CALL(sys_getresgid16) 189 + CALL(sys_prctl) 190 + CALL(sys_rt_sigreturn) 191 + CALL(sys_rt_sigaction) 192 + CALL(sys_rt_sigprocmask) /* 175 */ 193 + CALL(sys_rt_sigpending) 194 + CALL(sys_rt_sigtimedwait) 195 + CALL(sys_rt_sigqueueinfo) 196 + CALL(sys_rt_sigsuspend) 197 + CALL(sys_pread64) /* 180 */ 198 + CALL(sys_pwrite64) 199 + CALL(sys_lchown16); 200 + CALL(sys_getcwd) 201 + CALL(sys_capget) 202 + CALL(sys_capset) /* 185 */ 203 + CALL(sys_sigaltstack) 204 + CALL(sys_sendfile) 205 + CALL(sys_ni_syscall) /* streams1 */ 206 + CALL(sys_ni_syscall) /* streams2 */ 207 + CALL(sys_vfork) /* 190 */ 208 + CALL(sys_getrlimit) 209 + CALL(sys_mmap_pgoff) 210 + CALL(sys_truncate64) 211 + CALL(sys_ftruncate64) 212 + CALL(sys_stat64) /* 195 */ 213 + CALL(sys_lstat64) 214 + CALL(sys_fstat64) 215 + CALL(sys_chown) 216 + CALL(sys_getuid) 217 + CALL(sys_getgid) /* 200 */ 218 + CALL(sys_geteuid) 219 + CALL(sys_getegid) 220 + CALL(sys_setreuid) 221 + CALL(sys_setregid) 222 + CALL(sys_getgroups) /* 205 */ 223 + CALL(sys_setgroups) 224 + CALL(sys_fchown) 225 + CALL(sys_setresuid) 226 + CALL(sys_getresuid) 227 + CALL(sys_setresgid) /* 210 */ 228 + CALL(sys_getresgid) 229 + CALL(sys_lchown) 230 + CALL(sys_setuid) 231 + CALL(sys_setgid) 232 + CALL(sys_setfsuid) /* 215 */ 233 + CALL(sys_setfsgid) 234 + CALL(sys_pivot_root) 235 + CALL(sys_ni_syscall) 236 + CALL(sys_ni_syscall) 237 + CALL(sys_getdents64) /* 220 */ 238 + CALL(sys_fcntl64) 239 + CALL(sys_ni_syscall) /* reserved TUX */ 240 + CALL(sys_ni_syscall) /* reserved Security */ 241 + CALL(sys_gettid) 242 + CALL(sys_readahead) /* 225 */ 243 + CALL(sys_setxattr) 244 + CALL(sys_lsetxattr) 245 + CALL(sys_fsetxattr) 246 + CALL(sys_getxattr) 247 + CALL(sys_lgetxattr) /* 230 */ 248 + CALL(sys_fgetxattr) 249 + CALL(sys_listxattr) 250 + CALL(sys_llistxattr) 251 + CALL(sys_flistxattr) 252 + CALL(sys_removexattr) /* 235 */ 253 + CALL(sys_lremovexattr) 254 + CALL(sys_fremovexattr) 255 + CALL(sys_tkill) 256 + CALL(sys_sendfile64) 257 + CALL(sys_futex) /* 240 */ 258 + CALL(sys_sched_setaffinity) 259 + CALL(sys_sched_getaffinity) 260 + CALL(sys_ni_syscall) 261 + CALL(sys_ni_syscall) 262 + CALL(sys_io_setup) /* 245 */ 263 + CALL(sys_io_destroy) 264 + CALL(sys_io_getevents) 265 + CALL(sys_io_submit) 266 + CALL(sys_io_cancel) 267 + CALL(sys_fadvise64) /* 250 */ 268 + CALL(sys_ni_syscall) 269 + CALL(sys_exit_group) 270 + CALL(sys_lookup_dcookie) 271 + CALL(sys_epoll_create) 272 + CALL(sys_epoll_ctl) /* 255 */ 273 + CALL(sys_epoll_wait) 274 + CALL(sys_ni_syscall) /* sys_remap_file_pages */ 275 + CALL(sys_set_tid_address) 276 + CALL(sys_timer_create) 277 + CALL(sys_timer_settime) /* 260 */ 278 + CALL(sys_timer_gettime) 279 + CALL(sys_timer_getoverrun) 280 + CALL(sys_timer_delete) 281 + CALL(sys_clock_settime) 282 + CALL(sys_clock_gettime) /* 265 */ 283 + CALL(sys_clock_getres) 284 + CALL(sys_clock_nanosleep) 285 + CALL(sys_statfs64) 286 + CALL(sys_fstatfs64) 287 + CALL(sys_tgkill) /* 270 */ 288 + CALL(sys_utimes) 289 + CALL(sys_fadvise64_64) 290 + CALL(sys_ni_syscall) /* sys_vserver */ 291 + CALL(sys_ni_syscall) 292 + CALL(sys_get_mempolicy) /* 275 */ 293 + CALL(sys_set_mempolicy) 294 + CALL(sys_mq_open) 295 + CALL(sys_mq_unlink) 296 + CALL(sys_mq_timedsend) 297 + CALL(sys_mq_timedreceive) /* 280 */ 298 + CALL(sys_mq_notify) 299 + CALL(sys_mq_getsetattr) 300 + CALL(sys_waitid) 301 + CALL(sys_ni_syscall) /* sys_kexec_load */ 302 + CALL(sys_add_key) /* 285 */ 303 + CALL(sys_request_key) 304 + CALL(sys_keyctl) 305 + CALL(sys_ioprio_set) 306 + CALL(sys_ioprio_get) /* 290 */ 307 + CALL(sys_inotify_init) 308 + CALL(sys_inotify_add_watch) 309 + CALL(sys_inotify_rm_watch) 310 + CALL(sys_migrate_pages) 311 + CALL(sys_openat) /* 295 */ 312 + CALL(sys_mkdirat) 313 + CALL(sys_mknodat) 314 + CALL(sys_fchownat) 315 + CALL(sys_futimesat) 316 + CALL(sys_fstatat64) /* 300 */ 317 + CALL(sys_unlinkat) 318 + CALL(sys_renameat) 319 + CALL(sys_linkat) 320 + CALL(sys_symlinkat) 321 + CALL(sys_readlinkat) /* 305 */ 322 + CALL(sys_fchmodat) 323 + CALL(sys_faccessat) 324 + CALL(sys_ni_syscall) /* sys_pselect6 */ 325 + CALL(sys_ni_syscall) /* sys_ppoll */ 326 + CALL(sys_unshare) /* 310 */ 327 + CALL(sys_set_robust_list) 328 + CALL(sys_get_robust_list) 329 + CALL(sys_splice) 330 + CALL(sys_sync_file_range) 331 + CALL(sys_tee) /* 315 */ 332 + CALL(sys_vmsplice) 333 + CALL(sys_ni_syscall) /* sys_move_pages */ 334 + CALL(sys_getcpu) 335 + CALL(sys_ni_syscall) /* sys_epoll_pwait */ 336 + CALL(sys_setns) /* 320 */
+2 -2
arch/h8300/lib/abs.S
··· 9 9 .h8300s 10 10 #endif 11 11 .text 12 - .global SYMBOL_NAME(abs) 12 + .global _abs 13 13 14 14 ;;; int abs(int n) 15 - SYMBOL_NAME_LABEL(abs) 15 + _abs: 16 16 mov.l er0,er0 17 17 bpl 1f 18 18 neg.l er0
+2 -2
arch/h8300/lib/memcpy.S
··· 10 10 #endif 11 11 12 12 .text 13 - .global SYMBOL_NAME(memcpy) 13 + .global _memcpy 14 14 15 15 ;;; void *memcpy(void *to, void *from, size_t n) 16 - SYMBOL_NAME_LABEL(memcpy) 16 + _memcpy: 17 17 mov.l er2,er2 18 18 bne 1f 19 19 rts
+2 -2
arch/h8300/lib/memset.S
··· 10 10 #endif 11 11 .text 12 12 13 - .global SYMBOL_NAME(memset) 13 + .global _memset 14 14 15 15 ;;void *memset(*ptr, int c, size_t count) 16 16 ;; ptr = er0 17 17 ;; c = er1(r1l) 18 18 ;; count = er2 19 - SYMBOL_NAME_LABEL(memset) 19 + _memset: 20 20 btst #0,r0l 21 21 beq 2f 22 22
+8 -8
arch/h8300/platform/h8300h/aki3068net/crt0_ram.S
··· 22 22 #define RAMEND CONFIG_BLKDEV_RESERVE_ADDRESS 23 23 #endif 24 24 25 - .global SYMBOL_NAME(_start) 26 - .global SYMBOL_NAME(command_line) 27 - .global SYMBOL_NAME(_platform_gpio_table) 28 - .global SYMBOL_NAME(_target_name) 25 + .global __start 26 + .global _command_line 27 + .global __platform_gpio_table 28 + .global __target_name 29 29 30 30 .h8300h 31 31 ··· 33 33 .file "crt0_ram.S" 34 34 35 35 /* CPU Reset entry */ 36 - SYMBOL_NAME_LABEL(_start) 36 + __start: 37 37 mov.l #RAMEND,sp 38 38 ldc #0x80,ccr 39 39 ··· 59 59 60 60 /* copy kernel commandline */ 61 61 mov.l #COMMAND_START,er5 62 - mov.l #SYMBOL_NAME(command_line),er6 62 + mov.l #_command_line,er6 63 63 mov.w #512,r4 64 64 eepmov.w 65 65 66 66 /* uClinux kernel start */ 67 67 ldc #0x90,ccr /* running kernel */ 68 - mov.l #SYMBOL_NAME(init_thread_union),sp 68 + mov.l #_init_thread_union,sp 69 69 add.l #0x2000,sp 70 70 jsr @_start_kernel 71 71 _exit: ··· 107 107 .asciz "AE-3068" 108 108 109 109 .section .bootvec,"ax" 110 - jmp @SYMBOL_NAME(_start) 110 + jmp @__start
+7 -7
arch/h8300/platform/h8300h/generic/crt0_ram.S
··· 22 22 #define RAMEND CONFIG_BLKDEV_RESERVE_ADDRESS 23 23 #endif 24 24 25 - .global SYMBOL_NAME(_start) 26 - .global SYMBOL_NAME(command_line) 27 - .global SYMBOL_NAME(_platform_gpio_table) 28 - .global SYMBOL_NAME(_target_name) 25 + .global __start 26 + .global _command_line 27 + .global __platform_gpio_table 28 + .global __target_name 29 29 30 30 .h8300h 31 31 ··· 33 33 .file "crt0_ram.S" 34 34 35 35 /* CPU Reset entry */ 36 - SYMBOL_NAME_LABEL(_start) 36 + __start: 37 37 mov.l #RAMEND,sp 38 38 ldc #0x80,ccr 39 39 ··· 59 59 60 60 /* copy kernel commandline */ 61 61 mov.l #COMMAND_START,er5 62 - mov.l #SYMBOL_NAME(command_line),er6 62 + mov.l #_command_line,er6 63 63 mov.w #512,r4 64 64 eepmov.w 65 65 66 66 /* uClinux kernel start */ 67 67 ldc #0x90,ccr /* running kernel */ 68 - mov.l #SYMBOL_NAME(init_thread_union),sp 68 + mov.l #_init_thread_union,sp 69 69 add.l #0x2000,sp 70 70 jsr @_start_kernel 71 71 _exit:
+7 -7
arch/h8300/platform/h8300h/generic/crt0_rom.S
··· 12 12 13 13 #include <asm/linkage.h> 14 14 15 - .global SYMBOL_NAME(_start) 16 - .global SYMBOL_NAME(_command_line) 17 - .global SYMBOL_NAME(_platform_gpio_table) 18 - .global SYMBOL_NAME(_target_name) 15 + .global __start 16 + .global __command_line 17 + .global __platform_gpio_table 18 + .global __target_name 19 19 20 20 .h8300h 21 21 .section .text 22 22 .file "crt0_rom.S" 23 23 24 24 /* CPU Reset entry */ 25 - SYMBOL_NAME_LABEL(_start) 25 + __start: 26 26 mov.l #__ramend,sp 27 27 ldc #0x80,ccr 28 28 ··· 60 60 61 61 /* copy kernel commandline */ 62 62 mov.l #COMMAND_START,er5 63 - mov.l #SYMBOL_NAME(_command_line),er6 63 + mov.l #__command_line,er6 64 64 mov.w #512,r4 65 65 eepmov.w 66 66 67 67 /* linux kernel start */ 68 68 ldc #0x90,ccr /* running kernel */ 69 - mov.l #SYMBOL_NAME(init_thread_union),sp 69 + mov.l #_init_thread_union,sp 70 70 add.l #0x2000,sp 71 71 jsr @_start_kernel 72 72 _exit:
+8 -8
arch/h8300/platform/h8300h/h8max/crt0_ram.S
··· 22 22 #define RAMEND CONFIG_BLKDEV_RESERVE_ADDRESS 23 23 #endif 24 24 25 - .global SYMBOL_NAME(_start) 26 - .global SYMBOL_NAME(command_line) 27 - .global SYMBOL_NAME(_platform_gpio_table) 28 - .global SYMBOL_NAME(_target_name) 25 + .global __start 26 + .global _command_line 27 + .global __platform_gpio_table 28 + .global __target_name 29 29 30 30 .h8300h 31 31 ··· 33 33 .file "crt0_ram.S" 34 34 35 35 /* CPU Reset entry */ 36 - SYMBOL_NAME_LABEL(_start) 36 + __start: 37 37 mov.l #RAMEND,sp 38 38 ldc #0x80,ccr 39 39 ··· 59 59 60 60 /* copy kernel commandline */ 61 61 mov.l #COMMAND_START,er5 62 - mov.l #SYMBOL_NAME(command_line),er6 62 + mov.l #_command_line,er6 63 63 mov.w #512,r4 64 64 eepmov.w 65 65 66 66 /* uClinux kernel start */ 67 67 ldc #0x90,ccr /* running kernel */ 68 - mov.l #SYMBOL_NAME(init_thread_union),sp 68 + mov.l #_init_thread_union,sp 69 69 add.l #0x2000,sp 70 70 jsr @_start_kernel 71 71 _exit: ··· 107 107 .asciz "H8MAX" 108 108 109 109 .section .bootvec,"ax" 110 - jmp @SYMBOL_NAME(_start) 110 + jmp @__start
+8 -8
arch/h8300/platform/h8s/edosk2674/crt0_ram.S
··· 23 23 #define RAMEND CONFIG_BLKDEV_RESERVE_ADDRESS 24 24 #endif 25 25 26 - .global SYMBOL_NAME(_start) 27 - .global SYMBOL_NAME(_command_line) 28 - .global SYMBOL_NAME(_platform_gpio_table) 29 - .global SYMBOL_NAME(_target_name) 26 + .global __start 27 + .global __command_line 28 + .global __platform_gpio_table 29 + .global __target_name 30 30 31 31 .h8300s 32 32 ··· 34 34 .file "crt0_ram.S" 35 35 36 36 /* CPU Reset entry */ 37 - SYMBOL_NAME_LABEL(_start) 37 + __start: 38 38 mov.l #RAMEND,sp 39 39 ldc #0x80,ccr 40 40 ldc #0x00,exr ··· 66 66 67 67 /* copy kernel commandline */ 68 68 mov.l #COMMAND_START,er5 69 - mov.l #SYMBOL_NAME(command_line),er6 69 + mov.l #_command_line,er6 70 70 mov.w #512,r4 71 71 eepmov.w 72 72 73 73 /* uClinux kernel start */ 74 74 ldc #0x90,ccr /* running kernel */ 75 - mov.l #SYMBOL_NAME(init_thread_union),sp 75 + mov.l #_init_thread_union,sp 76 76 add.l #0x2000,sp 77 77 jsr @_start_kernel 78 78 _exit: ··· 127 127 .asciz "EDOSK-2674" 128 128 129 129 .section .bootvec,"ax" 130 - jmp @SYMBOL_NAME(_start) 130 + jmp @__start
+7 -7
arch/h8300/platform/h8s/edosk2674/crt0_rom.S
··· 13 13 #include <asm/linkage.h> 14 14 #include <asm/regs267x.h> 15 15 16 - .global SYMBOL_NAME(_start) 17 - .global SYMBOL_NAME(_command_line) 18 - .global SYMBOL_NAME(_platform_gpio_table) 19 - .global SYMBOL_NAME(_target_name) 16 + .global __start 17 + .global __command_line 18 + .global __platform_gpio_table 19 + .global __target_name 20 20 21 21 .h8300s 22 22 .section .text 23 23 .file "crt0_rom.S" 24 24 25 25 /* CPU Reset entry */ 26 - SYMBOL_NAME_LABEL(_start) 26 + __start: 27 27 mov.l #__ramend,sp 28 28 ldc #0x80,ccr 29 29 ldc #0,exr ··· 82 82 83 83 /* copy kernel commandline */ 84 84 mov.l #COMMAND_START,er5 85 - mov.l #SYMBOL_NAME(_command_line),er6 85 + mov.l #__command_line,er6 86 86 mov.w #512,r4 87 87 eepmov.w 88 88 89 89 /* linux kernel start */ 90 90 ldc #0x90,ccr /* running kernel */ 91 - mov.l #SYMBOL_NAME(init_thread_union),sp 91 + mov.l #_init_thread_union,sp 92 92 add.l #0x2000,sp 93 93 jsr @_start_kernel 94 94 _exit:
+8 -8
arch/h8300/platform/h8s/generic/crt0_ram.S
··· 23 23 #define RAMEND CONFIG_BLKDEV_RESERVE_ADDRESS 24 24 #endif 25 25 26 - .global SYMBOL_NAME(_start) 27 - .global SYMBOL_NAME(_command_line) 28 - .global SYMBOL_NAME(_platform_gpio_table) 29 - .global SYMBOL_NAME(_target_name) 26 + .global __start 27 + .global __command_line 28 + .global __platform_gpio_table 29 + .global __target_name 30 30 31 31 .h8300s 32 32 ··· 34 34 .file "crt0_ram.S" 35 35 36 36 /* CPU Reset entry */ 37 - SYMBOL_NAME_LABEL(_start) 37 + __start: 38 38 mov.l #RAMEND,sp 39 39 ldc #0x80,ccr 40 40 ldc #0x00,exr ··· 63 63 64 64 /* copy kernel commandline */ 65 65 mov.l #COMMAND_START,er5 66 - mov.l #SYMBOL_NAME(command_line),er6 66 + mov.l #_command_line,er6 67 67 mov.w #512,r4 68 68 eepmov.w 69 69 70 70 /* uClinux kernel start */ 71 71 ldc #0x90,ccr /* running kernel */ 72 - mov.l #SYMBOL_NAME(init_thread_union),sp 72 + mov.l #_init_thread_union,sp 73 73 add.l #0x2000,sp 74 74 jsr @_start_kernel 75 75 _exit: ··· 124 124 .asciz "generic" 125 125 126 126 .section .bootvec,"ax" 127 - jmp @SYMBOL_NAME(_start) 127 + jmp @__start
+6 -6
arch/h8300/platform/h8s/generic/crt0_rom.S
··· 13 13 #include <asm/linkage.h> 14 14 #include <asm/regs267x.h> 15 15 16 - .global SYMBOL_NAME(_start) 17 - .global SYMBOL_NAME(_command_line) 18 - .global SYMBOL_NAME(_platform_gpio_table) 19 - .global SYMBOL_NAME(_target_name) 16 + .global __start 17 + .global __command_line 18 + .global __platform_gpio_table 19 + .global __target_name 20 20 21 21 .h8300s 22 22 .section .text 23 23 .file "crt0_rom.S" 24 24 25 25 /* CPU Reset entry */ 26 - SYMBOL_NAME_LABEL(_start) 26 + __start: 27 27 mov.l #__ramend,sp 28 28 ldc #0x80,ccr 29 29 ldc #0,exr ··· 61 61 62 62 /* linux kernel start */ 63 63 ldc #0x90,ccr /* running kernel */ 64 - mov.l #SYMBOL_NAME(init_thread_union),sp 64 + mov.l #_init_thread_union,sp 65 65 add.l #0x2000,sp 66 66 jsr @_start_kernel 67 67 _exit:
+1 -1
arch/m68k/kernel/asm-offsets.c
··· 77 77 DEFINE(BIR_SIZE, offsetof(struct bi_record, size)); 78 78 DEFINE(BIR_DATA, offsetof(struct bi_record, data)); 79 79 80 - /* offsets into font_desc (drivers/video/console/font.h) */ 80 + /* offsets into the font_desc struct */ 81 81 DEFINE(FONT_DESC_IDX, offsetof(struct font_desc, idx)); 82 82 DEFINE(FONT_DESC_NAME, offsetof(struct font_desc, name)); 83 83 DEFINE(FONT_DESC_WIDTH, offsetof(struct font_desc, width));
+1
arch/openrisc/include/asm/Kbuild
··· 66 66 generic-y += ucontext.h 67 67 generic-y += user.h 68 68 generic-y += word-at-a-time.h 69 + generic-y += xor.h
+1
arch/score/include/asm/Kbuild
··· 3 3 4 4 generic-y += clkdev.h 5 5 generic-y += trace_clock.h 6 + generic-y += xor.h
-6
arch/score/include/asm/dma-mapping.h
··· 1 - #ifndef _ASM_SCORE_DMA_MAPPING_H 2 - #define _ASM_SCORE_DMA_MAPPING_H 3 - 4 - #include <asm-generic/dma-mapping-broken.h> 5 - 6 - #endif /* _ASM_SCORE_DMA_MAPPING_H */
+1 -1
arch/unicore32/boot/compressed/Makefile
··· 17 17 18 18 # font.c and font.o 19 19 CFLAGS_font.o := -Dstatic= 20 - $(obj)/font.c: $(srctree)/drivers/video/console/font_8x8.c 20 + $(obj)/font.c: $(srctree)/lib/fonts/font_8x8.c 21 21 $(call cmd,shipped) 22 22 23 23 # piggy.S and piggy.o
+27 -27
drivers/input/keyboard/cros_ec_keyb.c
··· 206 206 return NOTIFY_DONE; 207 207 } 208 208 209 - /* Clear any keys in the buffer */ 210 - static void cros_ec_keyb_clear_keyboard(struct cros_ec_keyb *ckdev) 211 - { 212 - uint8_t old_state[ckdev->cols]; 213 - uint8_t new_state[ckdev->cols]; 214 - unsigned long duration; 215 - int i, ret; 216 - 217 - /* 218 - * Keep reading until we see that the scan state does not change. 219 - * That indicates that we are done. 220 - * 221 - * Assume that the EC keyscan buffer is at most 32 deep. 222 - */ 223 - duration = jiffies; 224 - ret = cros_ec_keyb_get_state(ckdev, new_state); 225 - for (i = 1; !ret && i < 32; i++) { 226 - memcpy(old_state, new_state, sizeof(old_state)); 227 - ret = cros_ec_keyb_get_state(ckdev, new_state); 228 - if (0 == memcmp(old_state, new_state, sizeof(old_state))) 229 - break; 230 - } 231 - duration = jiffies - duration; 232 - dev_info(ckdev->dev, "Discarded %d keyscan(s) in %dus\n", i, 233 - jiffies_to_usecs(duration)); 234 - } 235 - 236 209 static int cros_ec_keyb_probe(struct platform_device *pdev) 237 210 { 238 211 struct cros_ec_device *ec = dev_get_drvdata(pdev->dev.parent); ··· 272 299 } 273 300 274 301 #ifdef CONFIG_PM_SLEEP 302 + /* Clear any keys in the buffer */ 303 + static void cros_ec_keyb_clear_keyboard(struct cros_ec_keyb *ckdev) 304 + { 305 + uint8_t old_state[ckdev->cols]; 306 + uint8_t new_state[ckdev->cols]; 307 + unsigned long duration; 308 + int i, ret; 309 + 310 + /* 311 + * Keep reading until we see that the scan state does not change. 312 + * That indicates that we are done. 313 + * 314 + * Assume that the EC keyscan buffer is at most 32 deep. 315 + */ 316 + duration = jiffies; 317 + ret = cros_ec_keyb_get_state(ckdev, new_state); 318 + for (i = 1; !ret && i < 32; i++) { 319 + memcpy(old_state, new_state, sizeof(old_state)); 320 + ret = cros_ec_keyb_get_state(ckdev, new_state); 321 + if (0 == memcmp(old_state, new_state, sizeof(old_state))) 322 + break; 323 + } 324 + duration = jiffies - duration; 325 + dev_info(ckdev->dev, "Discarded %d keyscan(s) in %dus\n", i, 326 + jiffies_to_usecs(duration)); 327 + } 328 + 275 329 static int cros_ec_keyb_resume(struct device *dev) 276 330 { 277 331 struct cros_ec_keyb *ckdev = dev_get_drvdata(dev);
+1 -1
drivers/media/platform/Kconfig
··· 220 220 config VIDEO_VIVI 221 221 tristate "Virtual Video Driver" 222 222 depends on VIDEO_DEV && VIDEO_V4L2 && !SPARC32 && !SPARC64 223 - depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE 223 + select FONT_SUPPORT 224 224 select FONT_8x16 225 225 select VIDEOBUF2_VMALLOC 226 226 default n
+3 -1
drivers/parport/Kconfig
··· 36 36 config PARPORT_PC 37 37 tristate "PC-style hardware" 38 38 depends on (!SPARC64 || PCI) && !SPARC32 && !M32R && !FRV && !S390 && \ 39 - (!M68K || ISA) && !MN10300 && !AVR32 && !BLACKFIN && !XTENSA 39 + (!M68K || ISA) && !MN10300 && !AVR32 && !BLACKFIN && \ 40 + !XTENSA && !CRIS 41 + 40 42 ---help--- 41 43 You should say Y here if you have a PC-style parallel port. All 42 44 IBM PC compatible computers and some Alphas have PC-style
+2 -1
drivers/staging/media/solo6x10/Kconfig
··· 1 1 config SOLO6X10 2 2 tristate "Softlogic 6x10 MPEG codec cards" 3 3 depends on PCI && VIDEO_DEV && SND && I2C 4 - depends on FONTS 4 + select FONT_SUPPORT 5 + select FONT_8x16 5 6 select VIDEOBUF2_DMA_SG 6 7 select VIDEOBUF2_DMA_CONTIG 7 8 select SND_PCM
+1
drivers/usb/misc/sisusbvga/Kconfig
··· 2 2 config USB_SISUSBVGA 3 3 tristate "USB 2.0 SVGA dongle support (Net2280/SiS315)" 4 4 depends on (USB_MUSB_HDRC || USB_EHCI_HCD) 5 + select FONT_SUPPORT if USB_SISUSBVGA_CON 5 6 ---help--- 6 7 Say Y here if you intend to attach a USB2VGA dongle based on a 7 8 Net2280 and a SiS315 chip.
+6 -110
drivers/video/console/Kconfig
··· 6 6 7 7 config VGA_CONSOLE 8 8 bool "VGA text console" if EXPERT || !X86 9 - depends on !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && !SUPERH && !BLACKFIN && !AVR32 && !MN10300 && (!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER) 9 + depends on !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && \ 10 + !SUPERH && !BLACKFIN && !AVR32 && !MN10300 && !CRIS && \ 11 + (!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER) 10 12 default y 11 13 help 12 14 Saying Y here will allow you to use Linux in text mode through a ··· 64 62 config SGI_NEWPORT_CONSOLE 65 63 tristate "SGI Newport Console support" 66 64 depends on SGI_IP22 65 + select FONT_SUPPORT 67 66 help 68 67 Say Y here if you want the console on the Newport aka XL graphics 69 68 card of your Indy. Most people say Y here. ··· 94 91 tristate "Framebuffer Console support" 95 92 depends on FB 96 93 select CRC32 94 + select FONT_SUPPORT 97 95 help 98 96 Low-level framebuffer-based console driver. 99 97 ··· 127 123 config STI_CONSOLE 128 124 bool "STI text console" 129 125 depends on PARISC 126 + select FONT_SUPPORT 130 127 default y 131 128 help 132 129 The STI console is the builtin display/keyboard on HP-PARISC 133 130 machines. Say Y here to build support for it into your kernel. 134 131 The alternative is to use your primary serial port as a console. 135 - 136 - config FONTS 137 - bool "Select compiled-in fonts" 138 - depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE 139 - help 140 - Say Y here if you would like to use fonts other than the default 141 - your frame buffer console usually use. 142 - 143 - Note that the answer to this question won't directly affect the 144 - kernel: saying N will just cause the configurator to skip all 145 - the questions about foreign fonts. 146 - 147 - If unsure, say N (the default choices are safe). 148 - 149 - config FONT_8x8 150 - bool "VGA 8x8 font" if FONTS 151 - depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE 152 - default y if !SPARC && !FONTS 153 - help 154 - This is the "high resolution" font for the VGA frame buffer (the one 155 - provided by the text console 80x50 (and higher) modes). 156 - 157 - Note that this is a poor quality font. The VGA 8x16 font is quite a 158 - lot more readable. 159 - 160 - Given the resolution provided by the frame buffer device, answer N 161 - here is safe. 162 - 163 - config FONT_8x16 164 - bool "VGA 8x16 font" if FONTS 165 - depends on FRAMEBUFFER_CONSOLE || SGI_NEWPORT_CONSOLE || STI_CONSOLE || USB_SISUSBVGA_CON 166 - default y if !SPARC && !FONTS 167 - help 168 - This is the "high resolution" font for the VGA frame buffer (the one 169 - provided by the VGA text console 80x25 mode. 170 - 171 - If unsure, say Y. 172 - 173 - config FONT_6x11 174 - bool "Mac console 6x11 font (not supported by all drivers)" if FONTS 175 - depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE 176 - default y if !SPARC && !FONTS && MAC 177 - help 178 - Small console font with Macintosh-style high-half glyphs. Some Mac 179 - framebuffer drivers don't support this one at all. 180 - 181 - config FONT_7x14 182 - bool "console 7x14 font (not supported by all drivers)" if FONTS 183 - depends on FRAMEBUFFER_CONSOLE 184 - help 185 - Console font with characters just a bit smaller than the default. 186 - If the standard 8x16 font is a little too big for you, say Y. 187 - Otherwise, say N. 188 - 189 - config FONT_PEARL_8x8 190 - bool "Pearl (old m68k) console 8x8 font" if FONTS 191 - depends on FRAMEBUFFER_CONSOLE 192 - default y if !SPARC && !FONTS && AMIGA 193 - help 194 - Small console font with PC-style control-character and high-half 195 - glyphs. 196 - 197 - config FONT_ACORN_8x8 198 - bool "Acorn console 8x8 font" if FONTS 199 - depends on FRAMEBUFFER_CONSOLE 200 - default y if !SPARC && !FONTS && ARM && ARCH_ACORN 201 - help 202 - Small console font with PC-style control characters and high-half 203 - glyphs. 204 - 205 - config FONT_MINI_4x6 206 - bool "Mini 4x6 font" 207 - depends on !SPARC && FONTS 208 - 209 - config FONT_SUN8x16 210 - bool "Sparc console 8x16 font" 211 - depends on FRAMEBUFFER_CONSOLE && (!SPARC && FONTS || SPARC) 212 - help 213 - This is the high resolution console font for Sun machines. Say Y. 214 - 215 - config FONT_SUN12x22 216 - bool "Sparc console 12x22 font (not supported by all drivers)" 217 - depends on FRAMEBUFFER_CONSOLE && (!SPARC && FONTS || SPARC) 218 - help 219 - This is the high resolution console font for Sun machines with very 220 - big letters (like the letters used in the SPARC PROM). If the 221 - standard font is unreadable for you, say Y, otherwise say N. 222 - 223 - config FONT_10x18 224 - bool "console 10x18 font (not supported by all drivers)" if FONTS 225 - depends on FRAMEBUFFER_CONSOLE 226 - help 227 - This is a high resolution console font for machines with very 228 - big letters. It fits between the sun 12x22 and the normal 8x16 font. 229 - If other fonts are too big or too small for you, say Y, otherwise say N. 230 - 231 - config FONT_AUTOSELECT 232 - def_bool y 233 - depends on FRAMEBUFFER_CONSOLE || SGI_NEWPORT_CONSOLE || STI_CONSOLE || USB_SISUSBVGA_CON 234 - depends on !FONT_8x8 235 - depends on !FONT_6x11 236 - depends on !FONT_7x14 237 - depends on !FONT_PEARL_8x8 238 - depends on !FONT_ACORN_8x8 239 - depends on !FONT_MINI_4x6 240 - depends on !FONT_SUN8x16 241 - depends on !FONT_SUN12x22 242 - depends on !FONT_10x18 243 - select FONT_8x16 244 132 245 133 endmenu 246 134
+4 -28
drivers/video/console/Makefile
··· 2 2 # 5 Aug 1999, James Simmons, <mailto:jsimmons@users.sf.net> 3 3 # Rewritten to use lists instead of if-statements. 4 4 5 - # Font handling 6 - font-objs := fonts.o 7 - 8 - font-objs-$(CONFIG_FONT_SUN8x16) += font_sun8x16.o 9 - font-objs-$(CONFIG_FONT_SUN12x22) += font_sun12x22.o 10 - font-objs-$(CONFIG_FONT_8x8) += font_8x8.o 11 - font-objs-$(CONFIG_FONT_8x16) += font_8x16.o 12 - font-objs-$(CONFIG_FONT_6x11) += font_6x11.o 13 - font-objs-$(CONFIG_FONT_7x14) += font_7x14.o 14 - font-objs-$(CONFIG_FONT_10x18) += font_10x18.o 15 - font-objs-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o 16 - font-objs-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o 17 - font-objs-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o 18 - 19 - font-objs += $(font-objs-y) 20 - 21 - obj-$(CONFIG_FONTS) += font.o 22 - 23 - # Each configuration option enables a list of files. 24 - 25 5 obj-$(CONFIG_DUMMY_CONSOLE) += dummycon.o 26 - obj-$(CONFIG_SGI_NEWPORT_CONSOLE) += newport_con.o font.o 27 - obj-$(CONFIG_STI_CONSOLE) += sticon.o sticore.o font.o 6 + obj-$(CONFIG_SGI_NEWPORT_CONSOLE) += newport_con.o 7 + obj-$(CONFIG_STI_CONSOLE) += sticon.o sticore.o 28 8 obj-$(CONFIG_VGA_CONSOLE) += vgacon.o 29 9 obj-$(CONFIG_MDA_CONSOLE) += mdacon.o 30 - obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o bitblit.o font.o softcursor.o 10 + obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o bitblit.o softcursor.o 31 11 ifeq ($(CONFIG_FB_TILEBLITTING),y) 32 12 obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += tileblit.o 33 13 endif ··· 16 36 fbcon_ccw.o 17 37 endif 18 38 19 - obj-$(CONFIG_FB_STI) += sticore.o font.o 20 - 21 - ifeq ($(CONFIG_USB_SISUSBVGA_CON),y) 22 - obj-$(CONFIG_USB_SISUSBVGA) += font.o 23 - endif 39 + obj-$(CONFIG_FB_STI) += sticore.o
drivers/video/console/font_10x18.c lib/fonts/font_10x18.c
drivers/video/console/font_6x11.c lib/fonts/font_6x11.c
drivers/video/console/font_7x14.c lib/fonts/font_7x14.c
drivers/video/console/font_8x16.c lib/fonts/font_8x16.c
drivers/video/console/font_8x8.c lib/fonts/font_8x8.c
drivers/video/console/font_acorn_8x8.c lib/fonts/font_acorn_8x8.c
drivers/video/console/font_mini_4x6.c lib/fonts/font_mini_4x6.c
drivers/video/console/font_pearl_8x8.c lib/fonts/font_pearl_8x8.c
drivers/video/console/font_sun12x22.c lib/fonts/font_sun12x22.c
drivers/video/console/font_sun8x16.c lib/fonts/font_sun8x16.c
+1 -1
drivers/video/console/fonts.c lib/fonts/fonts.c
··· 1 1 /* 2 - * linux/drivers/video/fonts.c -- `Soft' font definitions 2 + * `Soft' font definitions 3 3 * 4 4 * Created 1995 by Geert Uytterhoeven 5 5 * Rewritten 1998 by Martin Mares <mj@ucw.cz>
+2
lib/Kconfig
··· 410 410 config UCS2_STRING 411 411 tristate 412 412 413 + source "lib/fonts/Kconfig" 414 + 413 415 endmenu
+2
lib/Makefile
··· 153 153 154 154 obj-$(CONFIG_ASN1) += asn1_decoder.o 155 155 156 + obj-$(CONFIG_FONT_SUPPORT) += fonts/ 157 + 156 158 hostprogs-y := gen_crc32table 157 159 clean-files := crc32table.h 158 160
+117
lib/fonts/Kconfig
··· 1 + # 2 + # Font configuration 3 + # 4 + 5 + config FONT_SUPPORT 6 + tristate 7 + 8 + if FONT_SUPPORT 9 + 10 + config FONTS 11 + bool "Select compiled-in fonts" 12 + depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE 13 + help 14 + Say Y here if you would like to use fonts other than the default 15 + your frame buffer console usually use. 16 + 17 + Note that the answer to this question won't directly affect the 18 + kernel: saying N will just cause the configurator to skip all 19 + the questions about foreign fonts. 20 + 21 + If unsure, say N (the default choices are safe). 22 + 23 + config FONT_8x8 24 + bool "VGA 8x8 font" if FONTS 25 + depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE 26 + default y if !SPARC && !FONTS 27 + help 28 + This is the "high resolution" font for the VGA frame buffer (the one 29 + provided by the text console 80x50 (and higher) modes). 30 + 31 + Note that this is a poor quality font. The VGA 8x16 font is quite a 32 + lot more readable. 33 + 34 + Given the resolution provided by the frame buffer device, answer N 35 + here is safe. 36 + 37 + config FONT_8x16 38 + bool "VGA 8x16 font" if FONTS 39 + default y if !SPARC && !FONTS 40 + help 41 + This is the "high resolution" font for the VGA frame buffer (the one 42 + provided by the VGA text console 80x25 mode. 43 + 44 + If unsure, say Y. 45 + 46 + config FONT_6x11 47 + bool "Mac console 6x11 font (not supported by all drivers)" if FONTS 48 + depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE 49 + default y if !SPARC && !FONTS && MAC 50 + help 51 + Small console font with Macintosh-style high-half glyphs. Some Mac 52 + framebuffer drivers don't support this one at all. 53 + 54 + config FONT_7x14 55 + bool "console 7x14 font (not supported by all drivers)" if FONTS 56 + depends on FRAMEBUFFER_CONSOLE 57 + help 58 + Console font with characters just a bit smaller than the default. 59 + If the standard 8x16 font is a little too big for you, say Y. 60 + Otherwise, say N. 61 + 62 + config FONT_PEARL_8x8 63 + bool "Pearl (old m68k) console 8x8 font" if FONTS 64 + depends on FRAMEBUFFER_CONSOLE 65 + default y if !SPARC && !FONTS && AMIGA 66 + help 67 + Small console font with PC-style control-character and high-half 68 + glyphs. 69 + 70 + config FONT_ACORN_8x8 71 + bool "Acorn console 8x8 font" if FONTS 72 + depends on FRAMEBUFFER_CONSOLE 73 + default y if !SPARC && !FONTS && ARM && ARCH_ACORN 74 + help 75 + Small console font with PC-style control characters and high-half 76 + glyphs. 77 + 78 + config FONT_MINI_4x6 79 + bool "Mini 4x6 font" 80 + depends on !SPARC && FONTS 81 + 82 + config FONT_SUN8x16 83 + bool "Sparc console 8x16 font" 84 + depends on FRAMEBUFFER_CONSOLE && (!SPARC && FONTS || SPARC) 85 + help 86 + This is the high resolution console font for Sun machines. Say Y. 87 + 88 + config FONT_SUN12x22 89 + bool "Sparc console 12x22 font (not supported by all drivers)" 90 + depends on FRAMEBUFFER_CONSOLE && (!SPARC && FONTS || SPARC) 91 + help 92 + This is the high resolution console font for Sun machines with very 93 + big letters (like the letters used in the SPARC PROM). If the 94 + standard font is unreadable for you, say Y, otherwise say N. 95 + 96 + config FONT_10x18 97 + bool "console 10x18 font (not supported by all drivers)" if FONTS 98 + depends on FRAMEBUFFER_CONSOLE 99 + help 100 + This is a high resolution console font for machines with very 101 + big letters. It fits between the sun 12x22 and the normal 8x16 font. 102 + If other fonts are too big or too small for you, say Y, otherwise say N. 103 + 104 + config FONT_AUTOSELECT 105 + def_bool y 106 + depends on !FONT_8x8 107 + depends on !FONT_6x11 108 + depends on !FONT_7x14 109 + depends on !FONT_PEARL_8x8 110 + depends on !FONT_ACORN_8x8 111 + depends on !FONT_MINI_4x6 112 + depends on !FONT_SUN8x16 113 + depends on !FONT_SUN12x22 114 + depends on !FONT_10x18 115 + select FONT_8x16 116 + 117 + endif # FONT_SUPPORT
+18
lib/fonts/Makefile
··· 1 + # Font handling 2 + 3 + font-objs := fonts.o 4 + 5 + font-objs-$(CONFIG_FONT_SUN8x16) += font_sun8x16.o 6 + font-objs-$(CONFIG_FONT_SUN12x22) += font_sun12x22.o 7 + font-objs-$(CONFIG_FONT_8x8) += font_8x8.o 8 + font-objs-$(CONFIG_FONT_8x16) += font_8x16.o 9 + font-objs-$(CONFIG_FONT_6x11) += font_6x11.o 10 + font-objs-$(CONFIG_FONT_7x14) += font_7x14.o 11 + font-objs-$(CONFIG_FONT_10x18) += font_10x18.o 12 + font-objs-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o 13 + font-objs-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o 14 + font-objs-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o 15 + 16 + font-objs += $(font-objs-y) 17 + 18 + obj-$(CONFIG_FONT_SUPPORT) += font.o