1 /****************************************************************************
4 * This program and the accompanying materials
5 * are made available under the terms of the BSD License
6 * which accompanies this distribution, and is available at
7 * http://www.opensource.org/licenses/bsd-license.php
9 * Copyright (c) 2008 Pattrick Hueper <phueper@hueper.net>
10 ****************************************************************************/
17 /* PMM Structure see PMM Spec Version 1.01 Chapter 3.1.1
18 * (search web for specspmm101.pdf)
25 u32 entry_point_offset;
27 /* Code is not part of the speced PMM struct, however, since I cannot
28 * put the handling of PMM in the virtual memory (I dont want to hack it
29 * together in x86 assembly ;-)) this code array is pointed to by
30 * entry_point_offset, in code there is only a INT call and a RETF,
31 * thus every PMM call will issue a PMM INT (only defined in YABEL,
32 * see interrupt.c) and the INT Handler will do the actual PMM work.
35 } __attribute__ ((__packed__)) pmm_information_t;
37 /* This function is used to setup the PMM struct in virtual memory
38 * at a certain offset */
39 u8 pmm_setup(u16 segment, u16 offset);
41 /* This is the INT Handler mentioned above, called by my special PMM INT. */
42 void pmm_handleInt(void);
46 #endif // _YABEL_PMM_H