md_var.h revision 48691
17090Sbde/*- 27090Sbde * Copyright (c) 1995 Bruce D. Evans. 37090Sbde * All rights reserved. 47090Sbde * 57090Sbde * Redistribution and use in source and binary forms, with or without 67090Sbde * modification, are permitted provided that the following conditions 77090Sbde * are met: 87090Sbde * 1. Redistributions of source code must retain the above copyright 97090Sbde * notice, this list of conditions and the following disclaimer. 107090Sbde * 2. Redistributions in binary form must reproduce the above copyright 117090Sbde * notice, this list of conditions and the following disclaimer in the 127090Sbde * documentation and/or other materials provided with the distribution. 137090Sbde * 3. Neither the name of the author nor the names of contributors 147090Sbde * may be used to endorse or promote products derived from this software 157090Sbde * without specific prior written permission. 167090Sbde * 177090Sbde * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 187090Sbde * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 197090Sbde * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 207090Sbde * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 217090Sbde * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 227090Sbde * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 237090Sbde * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 247090Sbde * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 257090Sbde * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 267090Sbde * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 277090Sbde * SUCH DAMAGE. 287090Sbde * 2948691Sjlemon * $Id: md_var.h,v 1.29 1999/04/28 01:04:02 luoqi Exp $ 307090Sbde */ 317090Sbde 327090Sbde#ifndef _MACHINE_MD_VAR_H_ 337090Sbde#define _MACHINE_MD_VAR_H_ 347090Sbde 357090Sbde/* 367090Sbde * Miscellaneous machine-dependent declarations. 377090Sbde */ 387090Sbde 397090Sbdeextern int Maxmem; 4016875Sbdeextern u_int atdevbase; /* offset in virtual memory of ISA io mem */ 4142406Sbdeextern void (*bcopy_vector) __P((const void *from, void *to, size_t len)); 4233008Sbdeextern int busdma_swi_pending; 4342406Sbdeextern int (*copyin_vector) __P((const void *udaddr, void *kaddr, 4442406Sbde size_t len)); 4542406Sbdeextern int (*copyout_vector) __P((const void *kaddr, void *udaddr, 4642406Sbde size_t len)); 4737553Sbdeextern u_int cpu_feature; 4837553Sbdeextern u_int cpu_high; 4937553Sbdeextern u_int cpu_id; 507090Sbdeextern char cpu_vendor[]; 5137553Sbdeextern u_int cyrix_did; 527090Sbdeextern char kstack[]; 5337553Sbde#ifdef PC98 5437553Sbdeextern int need_pre_dma_flush; 5537553Sbdeextern int need_post_dma_flush; 5637553Sbde#endif 577090Sbdeextern void (*netisrs[32]) __P((void)); 587090Sbdeextern int nfs_diskless_valid; 5942406Sbdeextern void (*ovbcopy_vector) __P((const void *from, void *to, size_t len)); 6014331Speterextern char sigcode[]; 617090Sbdeextern int szsigcode; 627090Sbde 6316875Sbdetypedef void alias_for_inthand_t __P((u_int cs, u_int ef, u_int esp, u_int ss)); 647090Sbdestruct proc; 657090Sbdestruct reg; 6639197Sjdpstruct fpreg; 6748691Sjlemonstruct dbreg; 687090Sbde 6916875Sbdevoid bcopyb __P((const void *from, void *to, size_t len)); 7033008Sbdevoid busdma_swi __P((void)); 7119274Sjulianvoid cpu_halt __P((void)); 7237553Sbdevoid cpu_reset __P((void)); 7326494Sbdevoid cpu_switch_load_gs __P((void)) __asm(__STRING(cpu_switch_load_gs)); 747090Sbdevoid doreti_iret __P((void)) __asm(__STRING(doreti_iret)); 757090Sbdevoid doreti_iret_fault __P((void)) __asm(__STRING(doreti_iret_fault)); 767090Sbdevoid doreti_popl_ds __P((void)) __asm(__STRING(doreti_popl_ds)); 777090Sbdevoid doreti_popl_ds_fault __P((void)) __asm(__STRING(doreti_popl_ds_fault)); 787090Sbdevoid doreti_popl_es __P((void)) __asm(__STRING(doreti_popl_es)); 797090Sbdevoid doreti_popl_es_fault __P((void)) __asm(__STRING(doreti_popl_es_fault)); 8046129Sluoqivoid doreti_popl_fs __P((void)) __asm(__STRING(doreti_popl_fs)); 8146129Sluoqivoid doreti_popl_fs_fault __P((void)) __asm(__STRING(doreti_popl_fs_fault)); 8239197Sjdpint fill_fpregs __P((struct proc *, struct fpreg *)); 837090Sbdeint fill_regs __P((struct proc *p, struct reg *regs)); 8448691Sjlemonint fill_dbregs __P((struct proc *p, struct dbreg *dbregs)); 8516875Sbdevoid fillw __P((int /*u_short*/ pat, void *base, size_t cnt)); 8642406Sbdevoid i486_bzero __P((void *buf, size_t len)); 8742406Sbdevoid i586_bcopy __P((const void *from, void *to, size_t len)); 8842406Sbdevoid i586_bzero __P((void *buf, size_t len)); 8942406Sbdeint i586_copyin __P((const void *udaddr, void *kaddr, size_t len)); 9042406Sbdeint i586_copyout __P((const void *kaddr, void *udaddr, size_t len)); 9142406Sbdevoid i686_pagezero __P((void *addr)); 9229330Sjoergint is_physical_memory __P((vm_offset_t addr)); 9316875Sbdeu_long kvtop __P((void *addr)); 9416875Sbdevoid setidt __P((int idx, alias_for_inthand_t *func, int typ, int dpl, 9516875Sbde int selec)); 9633008Sbdevoid swi_vm __P((void)); 977090Sbdevoid userconfig __P((void)); 9812453Sbdeint vm_page_zero_idle __P((void)); 997090Sbde 1007090Sbde#endif /* !_MACHINE_MD_VAR_H_ */ 101