#include "config.h" // CONFIG_*
#include "malloc.h" // _malloc
#include "output.h" // dprintf
+#include "std/pmm.h" // PMM_SIGNATURE
#include "string.h" // checksum
#include "util.h" // pmm_init
#include "x86.h" // __ffs
-struct pmmheader {
- u32 signature;
- u8 version;
- u8 length;
- u8 checksum;
- struct segoff_s entry;
- u8 reserved[5];
-} PACKED;
-
extern struct pmmheader PMMHEADER;
-#define PMM_SIGNATURE 0x4d4d5024 // $PMM
-
#if CONFIG_PMM
struct pmmheader PMMHEADER __aligned(16) VARFSEG = {
.signature = PMM_SIGNATURE,
};
#endif
-#define PMM_FUNCTION_NOT_SUPPORTED 0xffffffff
-
// PMM - allocate
static u32
handle_pmm00(u16 *args)
--- /dev/null
+#ifndef __PMM_H
+#define __PMM_H
+
+#include "types.h" // u32
+
+#define PMM_SIGNATURE 0x4d4d5024 // $PMM
+
+struct pmmheader {
+ u32 signature;
+ u8 version;
+ u8 length;
+ u8 checksum;
+ struct segoff_s entry;
+ u8 reserved[5];
+} PACKED;
+
+#define PMM_FUNCTION_NOT_SUPPORTED 0xffffffff
+
+#endif // pmm.h