]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/i386/pal_hibernate.h
xnu-7195.50.7.100.1.tar.gz
[apple/xnu.git] / osfmk / i386 / pal_hibernate.h
index 32697bdf23ba58e96e210b2123974410a80e3894..bb5f63f1a63f36011cc88d250ee85f2d949f8c91 100644 (file)
  *
  * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
+/**
+ * i386/x86_64 specific definitions for hibernation platform abstraction layer.
+ */
+
 #ifndef _I386_PAL_HIBERNATE_H
 #define _I386_PAL_HIBERNATE_H
 
+__BEGIN_DECLS
+
 #define HIB_MAP_SIZE    (2*I386_LPGBYTES)
 #define DEST_COPY_AREA  (4*GB - HIB_MAP_SIZE) /*4GB - 2*2m */
 #define SRC_COPY_AREA   (DEST_COPY_AREA - HIB_MAP_SIZE)
 #define BITMAP_AREA     (COPY_PAGE_AREA - HIB_MAP_SIZE)
 #define IMAGE_AREA      (BITMAP_AREA    - HIB_MAP_SIZE)
 #define IMAGE2_AREA     (IMAGE_AREA     - HIB_MAP_SIZE)
+#define SCRATCH_AREA    (IMAGE2_AREA    - HIB_MAP_SIZE)
+#define WKDM_AREA       (SCRATCH_AREA   - HIB_MAP_SIZE)
 
 #define HIB_BASE segHIBB
 #define HIB_ENTRYPOINT acpi_wake_prot_entry
 
-uintptr_t pal_hib_map(uintptr_t v, uint64_t p);
-void hibernateRestorePALState(uint32_t *src);
-void pal_hib_patchup(void);
-#define PAL_HIBERNATE_MAGIC_1 0xfeedfacedeadbeef
-#define PAL_HIBERNATE_MAGIC_2 0x41b312133714
+/*!
+ * @typedef     pal_hib_map_type_t
+ * @discussion  Parameter to pal_hib_map used to signify which memory region to map.
+ */
+typedef uintptr_t pal_hib_map_type_t;
+
+/*!
+ * @struct      pal_hib_ctx
+ * @discussion  x86_64-specific PAL context; see pal_hib_ctx_t for details.
+ */
+struct pal_hib_ctx {
+       char reserved;
+};
+
+__END_DECLS
+
 #endif /* _I386_PAL_HIBERNATE_H */