Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/sommerfeld_i386mp_1]: src/sys/arch/i386 Add support for getting %es valu...
details: https://anonhg.NetBSD.org/src/rev/c658a15d93f9
branches: sommerfeld_i386mp_1
changeset: 482387:c658a15d93f9
user: jdolecek <jdolecek%NetBSD.org@localhost>
date: Wed May 02 13:12:46 2001 +0000
description:
Add support for getting %es value from the bios call.
diffstat:
sys/arch/i386/bioscall/genassym.cf | 102 ++++++++++++++++++++++++++++++++++
sys/arch/i386/include/bioscall.h | 109 +++++++++++++++++++++++++++++++++++++
2 files changed, 211 insertions(+), 0 deletions(-)
diffs (219 lines):
diff -r 54fc304ca800 -r c658a15d93f9 sys/arch/i386/bioscall/genassym.cf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/i386/bioscall/genassym.cf Wed May 02 13:12:46 2001 +0000
@@ -0,0 +1,102 @@
+# $NetBSD: genassym.cf,v 1.2.2.2 2001/05/02 13:12:46 jdolecek Exp $
+
+#
+# Copyright (c) 1998 The NetBSD Foundation, Inc.
+# All rights reserved.
+#
+# This code is derived from software contributed to The NetBSD Foundation
+# by Charles M. Hannum.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. All advertising materials mentioning features or use of this software
+# must display the following acknowledgement:
+# This product includes software developed by the NetBSD
+# Foundation, Inc. and its contributors.
+# 4. Neither the name of The NetBSD Foundation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+#
+# Copyright (c) 1982, 1990 The Regents of the University of California.
+# All rights reserved.
+#
+# This code is derived from software contributed to Berkeley by
+# William Jolitz.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. All advertising materials mentioning features or use of this software
+# must display the following acknowledgement:
+# This product includes software developed by the University of
+# California, Berkeley and its contributors.
+# 4. Neither the name of the University nor the names of its contributors
+# may be used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# @(#)genassym.c 5.11 (Berkeley) 5/10/91
+#
+
+
+include <sys/types.h>
+include <i386/include/bioscall.h>
+include <i386/include/apmvar.h>
+
+ifdef NOTDEF
+include <machine/bioscall.h>
+include <machine/apmvar.h>
+endif
+
+define APM_CODE32 offsetof(struct apm_connect_info, apm_code32_seg_base)
+define APM_CODE16 offsetof(struct apm_connect_info, apm_code16_seg_base)
+define APM_DATA offsetof(struct apm_connect_info, apm_data_seg_base)
+define APM_CODE32_LEN offsetof(struct apm_connect_info, apm_code32_seg_len)
+define APM_DATA_LEN offsetof(struct apm_connect_info, apm_data_seg_len)
+define APM_ENTRY offsetof(struct apm_connect_info, apm_entrypt)
+define APM_DETAIL offsetof(struct apm_connect_info, apm_detail)
+define APM_SIZE sizeof(struct apm_connect_info)
+define BIOSCALLREG_EAX offsetof(struct bioscallregs, EAX)
+define BIOSCALLREG_EBX offsetof(struct bioscallregs, EBX)
+define BIOSCALLREG_ECX offsetof(struct bioscallregs, ECX)
+define BIOSCALLREG_EDX offsetof(struct bioscallregs, EDX)
+define BIOSCALLREG_ESI offsetof(struct bioscallregs, ESI)
+define BIOSCALLREG_EDI offsetof(struct bioscallregs, EDI)
+define BIOSCALLREG_EFLAGS offsetof(struct bioscallregs, EFLAGS)
+define BIOSCALLREG_ES offsetof(struct bioscallregs, ES)
diff -r 54fc304ca800 -r c658a15d93f9 sys/arch/i386/include/bioscall.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/i386/include/bioscall.h Wed May 02 13:12:46 2001 +0000
@@ -0,0 +1,109 @@
+/* $NetBSD: bioscall.h,v 1.7.2.2 2001/05/02 13:12:47 jdolecek Exp $ */
+
+/*-
+ * Copyright (c) 1997, 2000 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by John Kohl and Jason R. Thorpe.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the NetBSD
+ * Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef __I386_BIOSCALL_H__
+#define __I386_BIOSCALL_H__
+
+/*
+ * virtual & physical address of the trampoline
+ * that we use: page 1.
+ */
+#define BIOSTRAMP_BASE NBPG
+
+#ifndef _LOCORE
+#define BIOSREG_LO 0
+#define BIOSREG_HI 1
+
+typedef union {
+ u_char biosreg_quarter[4];
+ u_short biosreg_half[2];
+ u_int biosreg_long;
+} bios_reg;
+
+struct bioscallregs {
+ bios_reg r_ax;
+ bios_reg r_bx;
+ bios_reg r_cx;
+ bios_reg r_dx;
+ bios_reg r_si;
+ bios_reg r_di;
+ bios_reg r_flags;
+ bios_reg r_es;
+};
+
+#define AL r_ax.biosreg_quarter[BIOSREG_LO]
+#define AH r_ax.biosreg_quarter[BIOSREG_HI]
+#define AX r_ax.biosreg_half[BIOSREG_LO]
+#define AX_HI r_ax.biosreg_half[BIOSREG_HI]
+#define EAX r_ax.biosreg_long
+
+#define BL r_bx.biosreg_quarter[BIOSREG_LO]
+#define BH r_bx.biosreg_quarter[BIOSREG_HI]
+#define BX r_bx.biosreg_half[BIOSREG_LO]
+#define BX_HI r_bx.biosreg_half[BIOSREG_HI]
+#define EBX r_bx.biosreg_long
+
+#define CL r_cx.biosreg_quarter[BIOSREG_LO]
+#define CH r_cx.biosreg_quarter[BIOSREG_HI]
+#define CX r_cx.biosreg_half[BIOSREG_LO]
+#define CX_HI r_cx.biosreg_half[BIOSREG_HI]
+#define ECX r_cx.biosreg_long
+
+#define DL r_dx.biosreg_quarter[BIOSREG_LO]
+#define DH r_dx.biosreg_quarter[BIOSREG_HI]
+#define DX r_dx.biosreg_half[BIOSREG_LO]
+#define DX_HI r_dx.biosreg_half[BIOSREG_HI]
+#define EDX r_dx.biosreg_long
+
+#define SI r_si.biosreg_half[BIOSREG_LO]
+#define SI_HI r_si.biosreg_half[BIOSREG_HI]
+#define ESI r_si.biosreg_long
+
+#define DI r_di.biosreg_half[BIOSREG_LO]
+#define DI_HI r_di.biosreg_half[BIOSREG_HI]
+#define EDI r_di.biosreg_long
+
+#define FLAGS r_flags.biosreg_half[BIOSREG_LO]
+#define FLAGS_HI r_flags.biosreg_half[BIOSREG_HI]
+#define EFLAGS r_flags.biosreg_long
+
+#define ES r_es.biosreg_half[BIOSREG_LO]
+
+void bioscall __P((int /* function*/ , struct bioscallregs * /* regs */));
+#endif
+#endif /* __I386_BIOSCALL_H__ */
Home |
Main Index |
Thread Index |
Old Index