!**************************************************************************
!*
!* 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 <gero@gkminix.han.de>
!*
!*  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



syntax highlighted by Code2HTML, v. 0.9.1