summaryrefslogtreecommitdiff
path: root/i386/pc/i16/i16_ext_mem.c
diff options
context:
space:
mode:
authorThomas Schwinge <tschwinge@gnu.org>2006-02-20 20:55:18 +0000
committerThomas Schwinge <tschwinge@gnu.org>2009-06-18 00:26:35 +0200
commitb3d4954f3269685d4200149e7334cdcdc935c287 (patch)
tree9d963cdfa4c74632d455d9126f27672322059824 /i386/pc/i16/i16_ext_mem.c
parent0266d331d780ff0e595eda337a3501ffbfea9330 (diff)
2006-02-20 Thomas Schwinge <tschwinge@gnu.org>
Remove unused and unsupported code. Consult the file `DEVELOPMENT' for details. Partly based on suggestions by Gianluca Guida <glguida@gmail.com>. * i386/pc/NOTES: Remove file. * i386/pc/debug.h: Likewise. * i386/pc/exit.c: Likewise. * i386/pc/gdt.h: Likewise. * i386/pc/gdt_sels.h: Likewise. * i386/pc/i16/i16_a20.c: Likewise. * i386/pc/i16/i16_a20.h: Likewise. * i386/pc/i16/i16_bios.h: Likewise. * i386/pc/i16/i16_exit.c: Likewise. * i386/pc/i16/i16_ext_mem.c: Likewise. * i386/pc/i16/i16_init.c: Likewise. * i386/pc/i16/i16_main.c: Likewise. * i386/pc/i16/i16_pic.c: Likewise. * i386/pc/i16/i16_putchar.c: Likewise. * i386/pc/i16/i16_raw.c: Likewise. * i386/pc/i16/i16_raw_test_a20.S: Likewise. * i386/pc/i16/i16_real_int.S: Likewise. * i386/pc/i16/i16_switch.h: Likewise. * i386/pc/i16/phys_mem_collect.c: Likewise. * i386/pc/i16/phys_mem_sources.h: Likewise. * i386/pc/i16/raw_exit.c: Likewise. * i386/pc/i16/raw_real_int.c: Likewise. * i386/pc/ipl.h: Likewise. * i386/pc/irq.h: Likewise. * i386/pc/irq_list.h: Likewise. * i386/pc/pc_asm.sym: Likewise. * i386/pc/phys_mem.h: Likewise. * i386/pc/phys_mem_add.c: Likewise. * i386/pc/pic.c: Likewise. * i386/pc/pic.h: Likewise. * i386/pc/putchar.c: Likewise. * i386/pc/real.h: Likewise. * i386/pc/real_tss.c: Likewise. * i386/pc/real_tss.h: Likewise. * i386/pc/real_tss_def.S: Likewise. * i386/pc/rv86/config.h: Likewise. * i386/pc/rv86/gdt_sels.h: Likewise. * i386/pc/rv86/idt_irq_init.c: Likewise. * i386/pc/rv86/rv86_real_int.c: Likewise. * i386/pc/rv86/rv86_real_int_asm.S: Likewise. * i386/pc/rv86/rv86_reflect_irq.S: Likewise. * i386/pc/rv86/rv86_trap_handler.S: Likewise. * i386/pc/rv86/trap_handler.S: Likewise.
Diffstat (limited to 'i386/pc/i16/i16_ext_mem.c')
-rw-r--r--i386/pc/i16/i16_ext_mem.c151
1 files changed, 0 insertions, 151 deletions
diff --git a/i386/pc/i16/i16_ext_mem.c b/i386/pc/i16/i16_ext_mem.c
deleted file mode 100644
index 08cbecf..0000000
--- a/i386/pc/i16/i16_ext_mem.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright (c) 1995-1994 The University of Utah and
- * the Computer Systems Laboratory at the University of Utah (CSL).
- * All rights reserved.
- *
- * Permission to use, copy, modify and distribute this software is hereby
- * granted provided that (1) source code retains these copyright, permission,
- * and disclaimer notices, and (2) redistributions including binaries
- * reproduce the notices in supporting documentation, and (3) all advertising
- * materials mentioning features or use of this software display the following
- * acknowledgement: ``This product includes software developed by the
- * Computer Systems Laboratory at the University of Utah.''
- *
- * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
- * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
- * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
- *
- * CSL requests users of this software to return to csl-dist@cs.utah.edu any
- * improvements that they make and grant CSL redistribution rights.
- *
- * Author: Bryan Ford, University of Utah CSL
- */
-
-#include <mach/machine/code16.h>
-#include <mach/machine/vm_types.h>
-#include <mach/machine/far_ptr.h>
-#include <mach/machine/proc_reg.h>
-
-#include "i16_bios.h"
-#include "phys_mem.h"
-#include "vm_param.h"
-#include "debug.h"
-
-
-static vm_offset_t ext_mem_phys_free_mem;
-static vm_size_t ext_mem_phys_free_size;
-
-
-CODE32
-
-int ext_mem_collect(void)
-{
- if (ext_mem_phys_free_mem)
- {
- phys_mem_add(ext_mem_phys_free_mem, ext_mem_phys_free_size);
- ext_mem_phys_free_mem = 0;
- }
-}
-
-CODE16
-
-void i16_ext_mem_check()
-{
- vm_offset_t ext_mem_top, ext_mem_bot;
- unsigned short ext_mem_k;
-
- /* Find the top of available extended memory. */
- asm volatile("
- int $0x15
- jnc 1f
- xorw %%ax,%%ax
- 1:
- " : "=a" (ext_mem_k)
- : "a" (0x8800));
- ext_mem_top = 0x100000 + (vm_offset_t)ext_mem_k * 1024;
-
- /* XXX check for >16MB memory using function 0xc7 */
-
- ext_mem_bot = 0x100000;
-
- /* Check for extended memory allocated bottom-up: method 1.
- This uses the technique (and, loosely, the code)
- described in the VCPI spec, version 1.0. */
- if (ext_mem_top > ext_mem_bot)
- {
- asm volatile("
- pushw %%es
-
- xorw %%ax,%%ax
- movw %%ax,%%es
- movw %%es:0x19*4+2,%%ax
- movw %%ax,%%es
-
- movw $0x12,%%di
- movw $7,%%cx
- rep
- cmpsb
- jne 1f
-
- xorl %%edx,%%edx
- movb %%es:0x2e,%%dl
- shll $16,%%edx
- movw %%es:0x2c,%%dx
-
- 1:
- popw %%es
- " : "=d" (ext_mem_bot)
- : "d" (ext_mem_bot),
- "S" ((unsigned short)(vm_offset_t)"VDISK V")
- : "eax", "ecx", "esi", "edi");
- }
- i16_assert(ext_mem_bot >= 0x100000);
-
- /* Check for extended memory allocated bottom-up: method 2.
- This uses the technique (and, loosely, the code)
- described in the VCPI spec, version 1.0. */
- if (ext_mem_top > ext_mem_bot)
- {
- struct {
- char pad1[3];
- char V;
- long DISK;
- char pad2[30-8];
- unsigned short addr;
- } buf;
- unsigned char rc;
-
- i16_assert(sizeof(buf) == 0x20);
- rc = i16_bios_copy_ext_mem(0x100000, kvtolin((vm_offset_t)&buf), sizeof(buf)/2);
- if ((rc == 0) && (buf.V == 'V') && (buf.DISK == 'DISK'))
- {
- vm_offset_t new_bot = (vm_offset_t)buf.addr << 10;
- i16_assert(new_bot > 0x100000);
- if (new_bot > ext_mem_bot)
- ext_mem_bot = new_bot;
- }
- }
- i16_assert(ext_mem_bot >= 0x100000);
-
- if (ext_mem_top > ext_mem_bot)
- {
- ext_mem_phys_free_mem = ext_mem_bot;
- ext_mem_phys_free_size = ext_mem_top - ext_mem_bot;
-
- /* We need to update phys_mem_max here
- instead of just letting phys_mem_add() do it
- when the memory is collected with phys_mem_collect(),
- because VCPI initialization needs to know the top of physical memory
- before phys_mem_collect() is called.
- See i16_vcpi.c for the gross details. */
- if (ext_mem_top > phys_mem_max)
- phys_mem_max = ext_mem_top;
- }
-}
-
-void i16_ext_mem_shutdown()
-{
- /* We didn't actually allocate the memory,
- so no need to deallocate it... */
-}
-