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

um: Remove ppc cruft

That code is a relict from the early days of UML.
ppc support was never completed nor worked.
Let's rip it out.

Signed-off-by: Richard Weinberger <richard@nod.at>

-635
-9
arch/um/Makefile-ppc
··· 1 - ifeq ($(CONFIG_HOST_2G_2G), y) 2 - START_ADDR = 0x80000000 3 - else 4 - START_ADDR = 0xc0000000 5 - endif 6 - ARCH_CFLAGS = -U__powerpc__ -D__UM_PPC__ 7 - 8 - # The arch is ppc, but the elf32 name is powerpc 9 - ELF_SUBARCH = powerpc
-65
arch/um/sys-ppc/Makefile
··· 1 - OBJ = built-in.o 2 - 3 - .S.o: 4 - $(CC) $(KBUILD_AFLAGS) -D__ASSEMBLY__ -D__UM_PPC__ -c $< -o $*.o 5 - 6 - OBJS = ptrace.o sigcontext.o checksum.o miscthings.o misc.o \ 7 - ptrace_user.o sysrq.o 8 - 9 - asflags-y := -DCONFIG_PPC32 -I. -I$(srctree)/arch/ppc/kernel 10 - 11 - all: $(OBJ) 12 - 13 - $(OBJ): $(OBJS) 14 - rm -f $@ 15 - $(LD) $(LINKFLAGS) --start-group $^ --end-group -o $@ 16 - 17 - ptrace_user.o: ptrace_user.c 18 - $(CC) -D__KERNEL__ $(USER_CFLAGS) $(ccflags-y) -c -o $@ $< 19 - 20 - sigcontext.o: sigcontext.c 21 - $(CC) $(USER_CFLAGS) $(ccflags-y) -c -o $@ $< 22 - 23 - checksum.S: 24 - rm -f $@ 25 - ln -s $(srctree)/arch/ppc/lib/$@ $@ 26 - 27 - mk_defs.c: 28 - rm -f $@ 29 - ln -s $(srctree)/arch/ppc/kernel/$@ $@ 30 - 31 - ppc_defs.head: 32 - rm -f $@ 33 - ln -s $(srctree)/arch/ppc/kernel/$@ $@ 34 - 35 - ppc_defs.h: mk_defs.c ppc_defs.head \ 36 - $(srctree)/include/asm-ppc/mmu.h \ 37 - $(srctree)/include/asm-ppc/processor.h \ 38 - $(srctree)/include/asm-ppc/pgtable.h \ 39 - $(srctree)/include/asm-ppc/ptrace.h 40 - # $(CC) $(CFLAGS) -S mk_defs.c 41 - cp ppc_defs.head ppc_defs.h 42 - # for bk, this way we can write to the file even if it's not checked out 43 - echo '#define THREAD 608' >> ppc_defs.h 44 - echo '#define PT_REGS 8' >> ppc_defs.h 45 - echo '#define CLONE_VM 256' >> ppc_defs.h 46 - # chmod u+w ppc_defs.h 47 - # grep '^#define' mk_defs.s >> ppc_defs.h 48 - # rm mk_defs.s 49 - 50 - # the asm link is horrible, and breaks the other targets. This is also 51 - # not going to work with parallel makes. 52 - 53 - checksum.o: checksum.S 54 - rm -f asm 55 - ln -s $(srctree)/include/asm-ppc asm 56 - $(CC) $(asflags-y) $(KBUILD_AFLAGS) -D__ASSEMBLY__ -D__UM_PPC__ -c $< -o $*.o 57 - rm -f asm 58 - 59 - misc.o: misc.S ppc_defs.h 60 - rm -f asm 61 - ln -s $(srctree)/include/asm-ppc asm 62 - $(CC) $(asflags-y) $(KBUILD_AFLAGS) -D__ASSEMBLY__ -D__UM_PPC__ -c $< -o $*.o 63 - rm -f asm 64 - 65 - clean-files := $(OBJS) ppc_defs.h checksum.S mk_defs.c
-8
arch/um/sys-ppc/asm/archparam.h
··· 1 - #ifndef __UM_ARCHPARAM_PPC_H 2 - #define __UM_ARCHPARAM_PPC_H 3 - 4 - /********* Bits for asm-um/string.h **********/ 5 - 6 - #define __HAVE_ARCH_STRRCHR 7 - 8 - #endif
-51
arch/um/sys-ppc/asm/elf.h
··· 1 - #ifndef __UM_ELF_PPC_H 2 - #define __UM_ELF_PPC_H 3 - 4 - 5 - extern long elf_aux_hwcap; 6 - #define ELF_HWCAP (elf_aux_hwcap) 7 - 8 - #define SET_PERSONALITY(ex) do ; while(0) 9 - 10 - #define ELF_EXEC_PAGESIZE 4096 11 - 12 - #define elf_check_arch(x) (1) 13 - 14 - #ifdef CONFIG_64BIT 15 - #define ELF_CLASS ELFCLASS64 16 - #else 17 - #define ELF_CLASS ELFCLASS32 18 - #endif 19 - 20 - #define R_386_NONE 0 21 - #define R_386_32 1 22 - #define R_386_PC32 2 23 - #define R_386_GOT32 3 24 - #define R_386_PLT32 4 25 - #define R_386_COPY 5 26 - #define R_386_GLOB_DAT 6 27 - #define R_386_JMP_SLOT 7 28 - #define R_386_RELATIVE 8 29 - #define R_386_GOTOFF 9 30 - #define R_386_GOTPC 10 31 - #define R_386_NUM 11 32 - 33 - #define ELF_PLATFORM (0) 34 - 35 - #define ELF_ET_DYN_BASE (0x08000000) 36 - 37 - /* the following stolen from asm-ppc/elf.h */ 38 - #define ELF_NGREG 48 /* includes nip, msr, lr, etc. */ 39 - #define ELF_NFPREG 33 /* includes fpscr */ 40 - /* General registers */ 41 - typedef unsigned long elf_greg_t; 42 - typedef elf_greg_t elf_gregset_t[ELF_NGREG]; 43 - 44 - /* Floating point registers */ 45 - typedef double elf_fpreg_t; 46 - typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; 47 - 48 - #define ELF_DATA ELFDATA2MSB 49 - #define ELF_ARCH EM_PPC 50 - 51 - #endif
-15
arch/um/sys-ppc/asm/processor.h
··· 1 - #ifndef __UM_PROCESSOR_PPC_H 2 - #define __UM_PROCESSOR_PPC_H 3 - 4 - #if defined(__ASSEMBLY__) 5 - 6 - #define CONFIG_PPC_MULTIPLATFORM 7 - #include "arch/processor.h" 8 - 9 - #else 10 - 11 - #include "asm/processor-generic.h" 12 - 13 - #endif 14 - 15 - #endif
-111
arch/um/sys-ppc/misc.S
··· 1 - /* 2 - * This file contains miscellaneous low-level functions. 3 - * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) 4 - * 5 - * Largely rewritten by Cort Dougan (cort@cs.nmt.edu) 6 - * and Paul Mackerras. 7 - * 8 - * A couple of functions stolen from arch/ppc/kernel/misc.S for UML 9 - * by Chris Emerson. 10 - * 11 - * This program is free software; you can redistribute it and/or 12 - * modify it under the terms of the GNU General Public License 13 - * as published by the Free Software Foundation; either version 14 - * 2 of the License, or (at your option) any later version. 15 - * 16 - */ 17 - 18 - #include <asm/processor.h> 19 - #include "ppc_asm.h" 20 - 21 - #if defined(CONFIG_4xx) || defined(CONFIG_8xx) 22 - #define CACHE_LINE_SIZE 16 23 - #define LG_CACHE_LINE_SIZE 4 24 - #define MAX_COPY_PREFETCH 1 25 - #else 26 - #define CACHE_LINE_SIZE 32 27 - #define LG_CACHE_LINE_SIZE 5 28 - #define MAX_COPY_PREFETCH 4 29 - #endif /* CONFIG_4xx || CONFIG_8xx */ 30 - 31 - .text 32 - 33 - /* 34 - * Clear a page using the dcbz instruction, which doesn't cause any 35 - * memory traffic (except to write out any cache lines which get 36 - * displaced). This only works on cacheable memory. 37 - */ 38 - _GLOBAL(clear_page) 39 - li r0,4096/CACHE_LINE_SIZE 40 - mtctr r0 41 - #ifdef CONFIG_8xx 42 - li r4, 0 43 - 1: stw r4, 0(r3) 44 - stw r4, 4(r3) 45 - stw r4, 8(r3) 46 - stw r4, 12(r3) 47 - #else 48 - 1: dcbz 0,r3 49 - #endif 50 - addi r3,r3,CACHE_LINE_SIZE 51 - bdnz 1b 52 - blr 53 - 54 - /* 55 - * Copy a whole page. We use the dcbz instruction on the destination 56 - * to reduce memory traffic (it eliminates the unnecessary reads of 57 - * the destination into cache). This requires that the destination 58 - * is cacheable. 59 - */ 60 - #define COPY_16_BYTES \ 61 - lwz r6,4(r4); \ 62 - lwz r7,8(r4); \ 63 - lwz r8,12(r4); \ 64 - lwzu r9,16(r4); \ 65 - stw r6,4(r3); \ 66 - stw r7,8(r3); \ 67 - stw r8,12(r3); \ 68 - stwu r9,16(r3) 69 - 70 - _GLOBAL(copy_page) 71 - addi r3,r3,-4 72 - addi r4,r4,-4 73 - li r5,4 74 - 75 - #ifndef CONFIG_8xx 76 - #if MAX_COPY_PREFETCH > 1 77 - li r0,MAX_COPY_PREFETCH 78 - li r11,4 79 - mtctr r0 80 - 11: dcbt r11,r4 81 - addi r11,r11,CACHE_LINE_SIZE 82 - bdnz 11b 83 - #else /* MAX_COPY_PREFETCH == 1 */ 84 - dcbt r5,r4 85 - li r11,CACHE_LINE_SIZE+4 86 - #endif /* MAX_COPY_PREFETCH */ 87 - #endif /* CONFIG_8xx */ 88 - 89 - li r0,4096/CACHE_LINE_SIZE 90 - mtctr r0 91 - 1: 92 - #ifndef CONFIG_8xx 93 - dcbt r11,r4 94 - dcbz r5,r3 95 - #endif 96 - COPY_16_BYTES 97 - #if CACHE_LINE_SIZE >= 32 98 - COPY_16_BYTES 99 - #if CACHE_LINE_SIZE >= 64 100 - COPY_16_BYTES 101 - COPY_16_BYTES 102 - #if CACHE_LINE_SIZE >= 128 103 - COPY_16_BYTES 104 - COPY_16_BYTES 105 - COPY_16_BYTES 106 - COPY_16_BYTES 107 - #endif 108 - #endif 109 - #endif 110 - bdnz 1b 111 - blr
-42
arch/um/sys-ppc/miscthings.c
··· 1 - #include <linux/threads.h> 2 - #include <linux/stddef.h> // for NULL 3 - #include <linux/elf.h> // for AT_NULL 4 - 5 - /* The following function nicked from arch/ppc/kernel/process.c and 6 - * adapted slightly */ 7 - /* 8 - * XXX ld.so expects the auxiliary table to start on 9 - * a 16-byte boundary, so we have to find it and 10 - * move it up. :-( 11 - */ 12 - void shove_aux_table(unsigned long sp) 13 - { 14 - int argc; 15 - char *p; 16 - unsigned long e; 17 - unsigned long aux_start, offset; 18 - 19 - argc = *(int *)sp; 20 - sp += sizeof(int) + (argc + 1) * sizeof(char *); 21 - /* skip over the environment pointers */ 22 - do { 23 - p = *(char **)sp; 24 - sp += sizeof(char *); 25 - } while (p != NULL); 26 - aux_start = sp; 27 - /* skip to the end of the auxiliary table */ 28 - do { 29 - e = *(unsigned long *)sp; 30 - sp += 2 * sizeof(unsigned long); 31 - } while (e != AT_NULL); 32 - offset = ((aux_start + 15) & ~15) - aux_start; 33 - if (offset != 0) { 34 - do { 35 - sp -= sizeof(unsigned long); 36 - e = *(unsigned long *)sp; 37 - *(unsigned long *)(sp + offset) = e; 38 - } while (sp > aux_start); 39 - } 40 - } 41 - /* END stuff taken from arch/ppc/kernel/process.c */ 42 -
-58
arch/um/sys-ppc/ptrace.c
··· 1 - #include <linux/sched.h> 2 - #include "asm/ptrace.h" 3 - 4 - int putreg(struct task_struct *child, unsigned long regno, 5 - unsigned long value) 6 - { 7 - child->thread.process_regs.regs[regno >> 2] = value; 8 - return 0; 9 - } 10 - 11 - int poke_user(struct task_struct *child, long addr, long data) 12 - { 13 - if ((addr & 3) || addr < 0) 14 - return -EIO; 15 - 16 - if (addr < MAX_REG_OFFSET) 17 - return putreg(child, addr, data); 18 - 19 - else if((addr >= offsetof(struct user, u_debugreg[0])) && 20 - (addr <= offsetof(struct user, u_debugreg[7]))){ 21 - addr -= offsetof(struct user, u_debugreg[0]); 22 - addr = addr >> 2; 23 - if((addr == 4) || (addr == 5)) return -EIO; 24 - child->thread.arch.debugregs[addr] = data; 25 - return 0; 26 - } 27 - return -EIO; 28 - } 29 - 30 - unsigned long getreg(struct task_struct *child, unsigned long regno) 31 - { 32 - unsigned long retval = ~0UL; 33 - 34 - retval &= child->thread.process_regs.regs[regno >> 2]; 35 - return retval; 36 - } 37 - 38 - int peek_user(struct task_struct *child, long addr, long data) 39 - { 40 - /* read the word at location addr in the USER area. */ 41 - unsigned long tmp; 42 - 43 - if ((addr & 3) || addr < 0) 44 - return -EIO; 45 - 46 - tmp = 0; /* Default return condition */ 47 - if(addr < MAX_REG_OFFSET){ 48 - tmp = getreg(child, addr); 49 - } 50 - else if((addr >= offsetof(struct user, u_debugreg[0])) && 51 - (addr <= offsetof(struct user, u_debugreg[7]))){ 52 - addr -= offsetof(struct user, u_debugreg[0]); 53 - addr = addr >> 2; 54 - tmp = child->thread.arch.debugregs[addr]; 55 - } 56 - return put_user(tmp, (unsigned long *) data); 57 - } 58 -
-29
arch/um/sys-ppc/ptrace_user.c
··· 1 - #include <errno.h> 2 - #include <asm/ptrace.h> 3 - #include <sysdep/ptrace.h> 4 - 5 - int ptrace_getregs(long pid, unsigned long *regs_out) 6 - { 7 - int i; 8 - for (i=0; i < sizeof(struct sys_pt_regs)/sizeof(PPC_REG); ++i) { 9 - errno = 0; 10 - regs_out->regs[i] = ptrace(PTRACE_PEEKUSR, pid, i*4, 0); 11 - if (errno) { 12 - return -errno; 13 - } 14 - } 15 - return 0; 16 - } 17 - 18 - int ptrace_setregs(long pid, unsigned long *regs_in) 19 - { 20 - int i; 21 - for (i=0; i < sizeof(struct sys_pt_regs)/sizeof(PPC_REG); ++i) { 22 - if (i != 34 /* FIXME: PT_ORIG_R3 */ && i <= PT_MQ) { 23 - if (ptrace(PTRACE_POKEUSR, pid, i*4, regs_in->regs[i]) < 0) { 24 - return -errno; 25 - } 26 - } 27 - } 28 - return 0; 29 - }
-93
arch/um/sys-ppc/shared/sysdep/ptrace.h
··· 1 - /* 2 - * Licensed under the GPL 3 - */ 4 - 5 - #ifndef __SYS_PTRACE_PPC_H 6 - #define __SYS_PTRACE_PPC_H 7 - 8 - #include <linux/types.h> 9 - 10 - /* the following taken from <asm-ppc/ptrace.h> */ 11 - 12 - #ifdef CONFIG_PPC64 13 - #define PPC_REG unsigned long /*long*/ 14 - #else 15 - #define PPC_REG unsigned long 16 - #endif 17 - struct sys_pt_regs_s { 18 - PPC_REG gpr[32]; 19 - PPC_REG nip; 20 - PPC_REG msr; 21 - PPC_REG orig_gpr3; /* Used for restarting system calls */ 22 - PPC_REG ctr; 23 - PPC_REG link; 24 - PPC_REG xer; 25 - PPC_REG ccr; 26 - PPC_REG mq; /* 601 only (not used at present) */ 27 - /* Used on APUS to hold IPL value. */ 28 - PPC_REG trap; /* Reason for being here */ 29 - PPC_REG dar; /* Fault registers */ 30 - PPC_REG dsisr; 31 - PPC_REG result; /* Result of a system call */ 32 - }; 33 - 34 - #define NUM_REGS (sizeof(struct sys_pt_regs_s) / sizeof(PPC_REG)) 35 - 36 - struct sys_pt_regs { 37 - PPC_REG regs[sizeof(struct sys_pt_regs_s) / sizeof(PPC_REG)]; 38 - }; 39 - 40 - #define UM_MAX_REG (PT_FPR0) 41 - #define UM_MAX_REG_OFFSET (UM_MAX_REG * sizeof(PPC_REG)) 42 - 43 - #define EMPTY_REGS { { [ 0 ... NUM_REGS - 1] = 0 } } 44 - 45 - #define UM_REG(r, n) ((r)->regs[n]) 46 - 47 - #define UM_SYSCALL_RET(r) UM_REG(r, PT_R3) 48 - #define UM_SP(r) UM_REG(r, PT_R1) 49 - #define UM_IP(r) UM_REG(r, PT_NIP) 50 - #define UM_ELF_ZERO(r) UM_REG(r, PT_FPSCR) 51 - #define UM_SYSCALL_NR(r) UM_REG(r, PT_R0) 52 - #define UM_SYSCALL_ARG1(r) UM_REG(r, PT_ORIG_R3) 53 - #define UM_SYSCALL_ARG2(r) UM_REG(r, PT_R4) 54 - #define UM_SYSCALL_ARG3(r) UM_REG(r, PT_R5) 55 - #define UM_SYSCALL_ARG4(r) UM_REG(r, PT_R6) 56 - #define UM_SYSCALL_ARG5(r) UM_REG(r, PT_R7) 57 - #define UM_SYSCALL_ARG6(r) UM_REG(r, PT_R8) 58 - 59 - #define UM_SYSCALL_NR_OFFSET (PT_R0 * sizeof(PPC_REG)) 60 - #define UM_SYSCALL_RET_OFFSET (PT_R3 * sizeof(PPC_REG)) 61 - #define UM_SYSCALL_ARG1_OFFSET (PT_R3 * sizeof(PPC_REG)) 62 - #define UM_SYSCALL_ARG2_OFFSET (PT_R4 * sizeof(PPC_REG)) 63 - #define UM_SYSCALL_ARG3_OFFSET (PT_R5 * sizeof(PPC_REG)) 64 - #define UM_SYSCALL_ARG4_OFFSET (PT_R6 * sizeof(PPC_REG)) 65 - #define UM_SYSCALL_ARG5_OFFSET (PT_R7 * sizeof(PPC_REG)) 66 - #define UM_SYSCALL_ARG6_OFFSET (PT_R8 * sizeof(PPC_REG)) 67 - #define UM_SP_OFFSET (PT_R1 * sizeof(PPC_REG)) 68 - #define UM_IP_OFFSET (PT_NIP * sizeof(PPC_REG)) 69 - #define UM_ELF_ZERO_OFFSET (PT_R3 * sizeof(PPC_REG)) 70 - 71 - #define UM_SET_SYSCALL_RETURN(_regs, result) \ 72 - do { \ 73 - if (result < 0) { \ 74 - (_regs)->regs[PT_CCR] |= 0x10000000; \ 75 - UM_SYSCALL_RET((_regs)) = -result; \ 76 - } else { \ 77 - UM_SYSCALL_RET((_regs)) = result; \ 78 - } \ 79 - } while(0) 80 - 81 - extern void shove_aux_table(unsigned long sp); 82 - #define UM_FIX_EXEC_STACK(sp) shove_aux_table(sp); 83 - 84 - /* These aren't actually defined. The undefs are just to make sure 85 - * everyone's clear on the concept. 86 - */ 87 - #undef UML_HAVE_GETREGS 88 - #undef UML_HAVE_GETFPREGS 89 - #undef UML_HAVE_SETREGS 90 - #undef UML_HAVE_SETFPREGS 91 - 92 - #endif 93 -
-52
arch/um/sys-ppc/shared/sysdep/sigcontext.h
··· 1 - /* 2 - * Copyright (C) 2000 Jeff Dike (jdike@karaya.com) 3 - * Licensed under the GPL 4 - */ 5 - 6 - #ifndef __SYS_SIGCONTEXT_PPC_H 7 - #define __SYS_SIGCONTEXT_PPC_H 8 - 9 - #define DSISR_WRITE 0x02000000 10 - 11 - #define SC_FAULT_ADDR(sc) ({ \ 12 - struct sigcontext *_sc = (sc); \ 13 - long retval = -1; \ 14 - switch (_sc->regs->trap) { \ 15 - case 0x300: \ 16 - /* data exception */ \ 17 - retval = _sc->regs->dar; \ 18 - break; \ 19 - case 0x400: \ 20 - /* instruction exception */ \ 21 - retval = _sc->regs->nip; \ 22 - break; \ 23 - default: \ 24 - panic("SC_FAULT_ADDR: unhandled trap type\n"); \ 25 - } \ 26 - retval; \ 27 - }) 28 - 29 - #define SC_FAULT_WRITE(sc) ({ \ 30 - struct sigcontext *_sc = (sc); \ 31 - long retval = -1; \ 32 - switch (_sc->regs->trap) { \ 33 - case 0x300: \ 34 - /* data exception */ \ 35 - retval = !!(_sc->regs->dsisr & DSISR_WRITE); \ 36 - break; \ 37 - case 0x400: \ 38 - /* instruction exception: not a write */ \ 39 - retval = 0; \ 40 - break; \ 41 - default: \ 42 - panic("SC_FAULT_ADDR: unhandled trap type\n"); \ 43 - } \ 44 - retval; \ 45 - }) 46 - 47 - #define SC_IP(sc) ((sc)->regs->nip) 48 - #define SC_SP(sc) ((sc)->regs->gpr[1]) 49 - #define SEGV_IS_FIXABLE(sc) (1) 50 - 51 - #endif 52 -
-22
arch/um/sys-ppc/shared/sysdep/skas_ptrace.h
··· 1 - /* 2 - * Copyright (C) 2000, 2001, 2002 Jeff Dike (jdike@karaya.com) 3 - * Licensed under the GPL 4 - */ 5 - 6 - #ifndef __SYSDEP_PPC_SKAS_PTRACE_H 7 - #define __SYSDEP_PPC_SKAS_PTRACE_H 8 - 9 - struct ptrace_faultinfo { 10 - int is_write; 11 - unsigned long addr; 12 - }; 13 - 14 - struct ptrace_ldt { 15 - int func; 16 - void *ptr; 17 - unsigned long bytecount; 18 - }; 19 - 20 - #define PTRACE_LDT 54 21 - 22 - #endif
-43
arch/um/sys-ppc/shared/sysdep/syscalls.h
··· 1 - /* 2 - * Copyright (C) 2000 Jeff Dike (jdike@karaya.com) 3 - * Licensed under the GPL 4 - */ 5 - 6 - typedef long syscall_handler_t(unsigned long arg1, unsigned long arg2, 7 - unsigned long arg3, unsigned long arg4, 8 - unsigned long arg5, unsigned long arg6); 9 - 10 - #define EXECUTE_SYSCALL(syscall, regs) \ 11 - (*sys_call_table[syscall])(UM_SYSCALL_ARG1(&regs), \ 12 - UM_SYSCALL_ARG2(&regs), \ 13 - UM_SYSCALL_ARG3(&regs), \ 14 - UM_SYSCALL_ARG4(&regs), \ 15 - UM_SYSCALL_ARG5(&regs), \ 16 - UM_SYSCALL_ARG6(&regs)) 17 - 18 - extern syscall_handler_t sys_mincore; 19 - extern syscall_handler_t sys_madvise; 20 - 21 - /* old_mmap needs the correct prototype since syscall_kern.c includes 22 - * this file. 23 - */ 24 - int old_mmap(unsigned long addr, unsigned long len, 25 - unsigned long prot, unsigned long flags, 26 - unsigned long fd, unsigned long offset); 27 - 28 - #define ARCH_SYSCALLS \ 29 - [ __NR_modify_ldt ] = sys_ni_syscall, \ 30 - [ __NR_pciconfig_read ] = sys_ni_syscall, \ 31 - [ __NR_pciconfig_write ] = sys_ni_syscall, \ 32 - [ __NR_pciconfig_iobase ] = sys_ni_syscall, \ 33 - [ __NR_pivot_root ] = sys_ni_syscall, \ 34 - [ __NR_multiplexer ] = sys_ni_syscall, \ 35 - [ __NR_mmap ] = old_mmap, \ 36 - [ __NR_madvise ] = sys_madvise, \ 37 - [ __NR_mincore ] = sys_mincore, \ 38 - [ __NR_iopl ] = (syscall_handler_t *) sys_ni_syscall, \ 39 - [ __NR_utimes ] = (syscall_handler_t *) sys_utimes, \ 40 - [ __NR_fadvise64 ] = (syscall_handler_t *) sys_fadvise64, 41 - 42 - #define LAST_ARCH_SYSCALL __NR_fadvise64 43 -
-4
arch/um/sys-ppc/sigcontext.c
··· 1 - #include "asm/ptrace.h" 2 - #include "asm/sigcontext.h" 3 - #include <sysdep/ptrace.h> 4 -
-33
arch/um/sys-ppc/sysrq.c
··· 1 - /* 2 - * Copyright (C) 2001 Chris Emerson (cemerson@chiark.greenend.org.uk) 3 - * Licensed under the GPL 4 - */ 5 - 6 - #include <linux/kernel.h> 7 - #include <linux/smp.h> 8 - #include "asm/ptrace.h" 9 - #include "sysrq.h" 10 - 11 - void show_regs(struct pt_regs_subarch *regs) 12 - { 13 - printk("\n"); 14 - show_regs_print_info(KERN_DEFAULT); 15 - 16 - printk("show_regs(): insert regs here.\n"); 17 - #if 0 18 - printk("\n"); 19 - printk("EIP: %04x:[<%08lx>] CPU: %d",0xffff & regs->xcs, regs->eip, 20 - smp_processor_id()); 21 - if (regs->xcs & 3) 22 - printk(" ESP: %04x:%08lx",0xffff & regs->xss, regs->esp); 23 - printk(" EFLAGS: %08lx\n", regs->eflags); 24 - printk("EAX: %08lx EBX: %08lx ECX: %08lx EDX: %08lx\n", 25 - regs->eax, regs->ebx, regs->ecx, regs->edx); 26 - printk("ESI: %08lx EDI: %08lx EBP: %08lx", 27 - regs->esi, regs->edi, regs->ebp); 28 - printk(" DS: %04x ES: %04x\n", 29 - 0xffff & regs->xds, 0xffff & regs->xes); 30 - #endif 31 - 32 - show_trace(current, &regs->gpr[1]); 33 - }