!************************************************************************** !* !* Boot-ROM-Code to load an operating system across a TCP/IP network. !* !* Module: pmm.inc !* Purpose: Definitions for accessing Post Memory Manager functions !* Entries: None !* !************************************************************************** !* !* Copyright (C) 1999-2003 Gero Kuhlmann !* !* This program is free software; you can redistribute it and/or modify !* it under the terms of the GNU General Public License as published by !* the Free Software Foundation; either version 2 of the License, or !* any later version. !* !* This program is distributed in the hope that it will be useful, !* but WITHOUT ANY WARRANTY; without even the implied warranty of !* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the !* GNU General Public License for more details. !* !* You should have received a copy of the GNU General Public License !* along with this program; if not, write to the Free Software !* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. !* !* $Id: pmm.inc,v 1.4 2003/01/25 23:29:40 gkminix Exp $ !* #ifndef _HW_PMM_INC #define _HW_PMM_INC ! !************************************************************************** ! ! PMM services can be found by searching the BIOS rom area for the ! string $PMM, which is at the beginning of the PMM structure. ! PMM_STARTSEG equ $E000 ! start segment to look for PMM PMM_SIGNATURE equ $4D4D5024 ! PMM structure signature PMM_SIGOFS equ $0000 ! offset to signature in PMM struct PMM_SREV equ $0004 ! offset to PMM struct revision PMM_SLEN equ $0005 ! offset to PMM struct length PMM_CHKSUM equ $0006 ! offset to PMM struct checksum PMM_ENTRY equ $0007 ! offset to PMM entry point address ! !************************************************************************** ! ! Definitions for calling PMM functions. All memory blocks have to have ! a unique signature. We dont use a number as described in the PMM ! specification because that would mean to compute it at runtime, and ! that requires additional memory. Instead, we simply set it to a value ! which hopefully no one else uses. ! PMM_RAMSIG equ $6E62676B ! signature of PMM memory block PMM_FLAGS equ $02 ! flags for memory allocation PMM_ALLOCATE equ 0 ! function: allocate memory block PMM_FIND equ 1 ! function: find memory block PMM_DEALLOCATE equ 2 ! function: deallocate memory block ! !************************************************************************** ! #endif