Index: kernel/generic/include/mm/frame.h
===================================================================
--- kernel/generic/include/mm/frame.h	(revision 29938b2ecffc7146338693259e6bc86d0c91fca4)
+++ kernel/generic/include/mm/frame.h	(revision e6a6c02954a45ba875ec2de8c72742d0183240e7)
@@ -58,4 +58,6 @@
 /** Do not reserve / unreserve memory. */
 #define FRAME_NO_RESERVE  0x8
+/** Allocate a frame which can be identity-mapped. */
+#define FRAME_LOWMEM	  0x10
 
 typedef uint8_t zone_flags_t;
@@ -67,8 +69,8 @@
 /** Zone is used by firmware (not available for allocation) */
 #define ZONE_FIRMWARE   0x10
+/** Zone contains memory that can be identity-mapped */
+#define ZONE_LOWMEM	0x20
 
-/** Currently there is no equivalent zone flags
-    for frame flags */
-#define FRAME_TO_ZONE_FLAGS(frame_flags)  0
+#define FRAME_TO_ZONE_FLAGS(ff)	(((ff) & FRAME_LOWMEM) ? ZONE_LOWMEM : 0) 
 
 typedef struct {
