2004-05-14 11:46:45 +00:00
|
|
|
/* $NetBSD: machdep.h,v 1.7 2002/02/21 02:52:21 thorpej Exp $ */
|
|
|
|
/* $FreeBSD$ */
|
|
|
|
|
|
|
|
#ifndef _MACHDEP_BOOT_MACHDEP_H_
|
|
|
|
#define _MACHDEP_BOOT_MACHDEP_H_
|
|
|
|
|
|
|
|
/* misc prototypes used by the many arm machdeps */
|
|
|
|
void halt (void);
|
|
|
|
void data_abort_handler (trapframe_t *);
|
|
|
|
void prefetch_abort_handler (trapframe_t *);
|
|
|
|
void undefinedinstruction_bounce (trapframe_t *);
|
|
|
|
|
Instead of using sysarch() to store-retrieve the tp, add a magic address,
ARM_TP_ADDRESS, where the tp will be stored. On CPUs that support it, a cache
line will be allocated and locked for this address, so that it will never go
to RAM. On CPUs that does not, a page is allocated for it (it will be a bit
slower, and is wrong for SMP, but should be fine for UP).
The tp is still stored in the mdthread struct, and at each context switch,
ARM_TP_ADDRESS gets updated.
Suggested by: davidxu
2005-02-26 18:59:01 +00:00
|
|
|
void arm_lock_cache_line(vm_offset_t);
|
|
|
|
|
2004-05-14 11:46:45 +00:00
|
|
|
#endif /* !_MACHINE_MACHDEP_H_ */
|