Index: uspace/drv/bus/isa/isa.c
===================================================================
--- uspace/drv/bus/isa/isa.c	(revision ff979572de88fcf1f52ccc88c43b0520591327dd)
+++ uspace/drv/bus/isa/isa.c	(revision 9e470c044532b6b2ea25db65312a9ac28f71af23)
@@ -429,4 +429,5 @@
 		resources[count].res.io_range.address += isa->pio_win.io.base;
 		resources[count].res.io_range.size = len;
+		resources[count].res.io_range.relative = false;
 		resources[count].res.io_range.endianness = LITTLE_ENDIAN;
 
Index: uspace/drv/bus/pci/pciintel/pci.c
===================================================================
--- uspace/drv/bus/pci/pciintel/pci.c	(revision ff979572de88fcf1f52ccc88c43b0520591327dd)
+++ uspace/drv/bus/pci/pciintel/pci.c	(revision 9e470c044532b6b2ea25db65312a9ac28f71af23)
@@ -449,4 +449,5 @@
 		hw_resources[count].res.io_range.address = range_addr;
 		hw_resources[count].res.io_range.size = range_size;
+		hw_resources[count].res.io_range.relative = true;
 		hw_resources[count].res.io_range.endianness = LITTLE_ENDIAN;
 	} else {
@@ -454,4 +455,5 @@
 		hw_resources[count].res.mem_range.address = range_addr;
 		hw_resources[count].res.mem_range.size = range_size;
+		hw_resources[count].res.mem_range.relative = false;
 		hw_resources[count].res.mem_range.endianness = LITTLE_ENDIAN;
 	}
Index: uspace/drv/infrastructure/rootmac/rootmac.c
===================================================================
--- uspace/drv/infrastructure/rootmac/rootmac.c	(revision ff979572de88fcf1f52ccc88c43b0520591327dd)
+++ uspace/drv/infrastructure/rootmac/rootmac.c	(revision 9e470c044532b6b2ea25db65312a9ac28f71af23)
@@ -54,4 +54,5 @@
 			.address = 0xfec00000,
 			.size = 4,
+			.relative = false,
 			.endianness = LITTLE_ENDIAN
 		}
@@ -62,4 +63,5 @@
 			.address = 0xfee00000,
 			.size = 4,
+			.relative = false,
 			.endianness = LITTLE_ENDIAN
 		}
Index: uspace/drv/infrastructure/rootmalta/rootmalta.c
===================================================================
--- uspace/drv/infrastructure/rootmalta/rootmalta.c	(revision ff979572de88fcf1f52ccc88c43b0520591327dd)
+++ uspace/drv/infrastructure/rootmalta/rootmalta.c	(revision 9e470c044532b6b2ea25db65312a9ac28f71af23)
@@ -99,4 +99,5 @@
 			.address = GT_BASE + GT_PCI_CONFADDR,
 			.size = 4,
+			.relative = false,
 			.endianness = LITTLE_ENDIAN
 		}
@@ -107,4 +108,5 @@
 			.address = GT_BASE + GT_PCI_CONFDATA,
 			.size = 4,
+			.relative = false,
 			.endianness = LITTLE_ENDIAN
 		}
Index: uspace/drv/infrastructure/rootpc/rootpc.c
===================================================================
--- uspace/drv/infrastructure/rootpc/rootpc.c	(revision ff979572de88fcf1f52ccc88c43b0520591327dd)
+++ uspace/drv/infrastructure/rootpc/rootpc.c	(revision 9e470c044532b6b2ea25db65312a9ac28f71af23)
@@ -81,4 +81,5 @@
 			.address = 0xCF8,
 			.size = 4,
+			.relative = false,
 			.endianness = LITTLE_ENDIAN
 		}
@@ -89,4 +90,5 @@
 			.address = 0xCFC,
 			.size = 4,
+			.relative = false,
 			.endianness = LITTLE_ENDIAN
 		}
Index: uspace/lib/c/include/device/hw_res.h
===================================================================
--- uspace/lib/c/include/device/hw_res.h	(revision ff979572de88fcf1f52ccc88c43b0520591327dd)
+++ uspace/lib/c/include/device/hw_res.h	(revision 9e470c044532b6b2ea25db65312a9ac28f71af23)
@@ -76,12 +76,14 @@
 		struct {
 			uint64_t address;
+			size_t size;
+			bool relative;
 			endianness_t endianness;
-			size_t size;
 		} mem_range;
 		
 		struct {
 			uint64_t address;
+			size_t size;
+			bool relative;
 			endianness_t endianness;
-			size_t size;
 		} io_range;
 		
