#ifndef _ASM_SCORE_ELF_H
#define _ASM_SCORE_ELF_H
-/* ELF register definitions */
-#define ELF_NGREG 45
-#define ELF_NFPREG 33
+#include <linux/ptrace.h>
+
#define EM_SCORE7 135
/* Relocation types. */
#define R_SCORE_IMM30 20
#define R_SCORE_IMM32 21
-typedef unsigned long elf_greg_t;
-typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+/* ELF register definitions */
+typedef unsigned long elf_greg_t;
+
+#define ELF_NGREG (sizeof(struct pt_regs) / sizeof(elf_greg_t))
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
-typedef double elf_fpreg_t;
-typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
+/* Score does not have fp regs. */
+typedef double elf_fpreg_t;
+typedef elf_fpreg_t elf_fpregset_t;
#define elf_check_arch(x) ((x)->e_machine == EM_SCORE7)
struct task_struct;
struct pt_regs;
+#define CORE_DUMP_USE_REGSET
#define USE_ELF_CORE_DUMP
#define ELF_EXEC_PAGESIZE PAGE_SIZE
"nop;" \
"nop;" \
"nop;" \
- "ldi r9, 0x1;" \
- "and %0, %0, r9;" \
: "=r" (x) \
: \
: "r8", "r9" \
#include <linux/errno.h>
#include <linux/signal.h>
+#include <linux/ptrace.h>
#include <linux/unistd.h>
#include <linux/uaccess.h>
+#include <asm/cacheflush.h>
#include <asm/syscalls.h>
#include <asm/ucontext.h>
-#include <asm/cacheflush.h>
-
#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
struct rt_sigframe {
void __init_refok free_initmem(void)
{
free_init_pages("unused kernel memory",
- (unsigned long)__init_begin, (unsigned long)__init_end);
+ __pa(&__init_begin),
+ __pa(&__init_end));
}
unsigned long pgd_current;
* are constants. So we use the variants from asm-offset.h until that gcc
* will officially be retired.
*/
+pgd_t swapper_pg_dir[PTRS_PER_PGD] __page_aligned(PTE_ORDER);
pte_t invalid_pte_table[PTRS_PER_PTE] __page_aligned(PTE_ORDER);
void __init pagetable_init(void)
{
- unsigned long vaddr;
- pgd_t *pgd_base;
-
/* Initialize the entire pgd. */
- pgd_init((unsigned long) swapper_pg_dir);
- pgd_init((unsigned long) swapper_pg_dir
- + sizeof(pgd_t) * USER_PTRS_PER_PGD);
-
- pgd_base = swapper_pg_dir;
- vaddr = __fix_to_virt(__end_of_fixed_addresses - 1) & PMD_MASK;
+ pgd_init((unsigned long)swapper_pg_dir);
}