You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.5 KiB
50 lines
1.5 KiB
20 years ago
|
/*
|
||
|
* linux/include/asm-arm26/proc-fns.h
|
||
|
*
|
||
|
* Copyright (C) 2000 Russell King
|
||
|
*
|
||
|
* This program is free software; you can redistribute it and/or modify
|
||
|
* it under the terms of the GNU General Public License version 2 as
|
||
|
* published by the Free Software Foundation.
|
||
|
*/
|
||
|
#ifndef __ASSEMBLY__
|
||
|
|
||
|
#include <asm/page.h>
|
||
|
|
||
|
/*
|
||
|
* Don't change this structure - ASM code
|
||
|
* relies on it.
|
||
|
*/
|
||
|
extern struct processor {
|
||
|
/* check for any bugs */
|
||
|
void (*_check_bugs)(void);
|
||
|
/* Set up any processor specifics */
|
||
|
void (*_proc_init)(void);
|
||
|
/* Disable any processor specifics */
|
||
|
void (*_proc_fin)(void);
|
||
|
/* set the MEMC hardware mappings */
|
||
|
void (*_set_pgd)(pgd_t *pgd);
|
||
|
/* XCHG */
|
||
|
unsigned long (*_xchg_1)(unsigned long x, volatile void *ptr);
|
||
|
unsigned long (*_xchg_4)(unsigned long x, volatile void *ptr);
|
||
|
} processor;
|
||
|
|
||
|
extern const struct processor arm2_processor_functions;
|
||
|
extern const struct processor arm250_processor_functions;
|
||
|
extern const struct processor arm3_processor_functions;
|
||
|
|
||
|
#define cpu_check_bugs() processor._check_bugs()
|
||
|
#define cpu_proc_init() processor._proc_init()
|
||
|
#define cpu_proc_fin() processor._proc_fin()
|
||
|
#define cpu_do_idle() do { } while (0)
|
||
|
#define cpu_switch_mm(pgd,mm) processor._set_pgd(pgd)
|
||
|
#define cpu_xchg_1(x,ptr) processor._xchg_1(x,ptr)
|
||
|
#define cpu_xchg_4(x,ptr) processor._xchg_4(x,ptr)
|
||
|
|
||
|
|
||
|
//FIXME - these shouldnt be in proc-fn.h
|
||
|
extern void cpu_memc_update_all(pgd_t *pgd);
|
||
|
extern void cpu_memc_update_entry(pgd_t *pgd, unsigned long phys_pte, unsigned long log_addr);
|
||
|
|
||
|
#endif
|