diff --git a/Makefile b/Makefile
index cde4490a4188d80813b5a117293e0ed75c065a82..1b27290adb51a7602096b19f03b22ca700e701b3 100644
--- a/Makefile
+++ b/Makefile
@@ -207,6 +207,7 @@ LIBS += net/libnet.a
 LIBS += disk/libdisk.a
 LIBS += drivers/libdrivers.a
 LIBS += drivers/bios_emulator/libatibiosemu.a
+LIBS += drivers/block/libblock.a
 LIBS += drivers/hwmon/libhwmon.a
 LIBS += drivers/i2c/libi2c.a
 LIBS += drivers/input/libinput.a
diff --git a/drivers/Makefile b/drivers/Makefile
index d4882f5497e21d630d26f54c19a959c50683847f..6a623e3665ea7fe4f0cf84ec8372c1a69bbf072c 100755
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -34,15 +34,10 @@ COBJS-y += status_led.o
 #
 # Block and Flash Drivers
 #
-COBJS-y += ahci.o
 COBJS-y += at45.o
-COBJS-y += ata_piix.o
 COBJS-y += cfi_flash.o
 COBJS-y += dataflash.o
 COBJS-y += mw_eeprom.o
-COBJS-y += sil680.o
-COBJS-y += sym53c8xx.o
-COBJS-y += systemace.o
 
 #
 # Miscellaneous Drivers
diff --git a/drivers/block/Makefile b/drivers/block/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..e069969e680d32c0bbfe705997c84247e2f1a1ae
--- /dev/null
+++ b/drivers/block/Makefile
@@ -0,0 +1,50 @@
+#
+# (C) Copyright 2000-2007
+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB 	:= $(obj)libblock.a
+
+COBJS-y += ahci.o
+COBJS-y += ata_piix.o
+COBJS-y += sil680.o
+COBJS-y += sym53c8xx.o
+COBJS-y += systemace.o
+
+COBJS	:= $(COBJS-y)
+SRCS 	:= $(COBJS:.o=.c)
+OBJS 	:= $(addprefix $(obj),$(COBJS))
+
+all:	$(LIB)
+
+$(LIB):	$(obj).depend $(OBJS)
+	$(AR) $(ARFLAGS) $@ $(OBJS)
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
diff --git a/drivers/ahci.c b/drivers/block/ahci.c
similarity index 100%
rename from drivers/ahci.c
rename to drivers/block/ahci.c
diff --git a/drivers/ata_piix.c b/drivers/block/ata_piix.c
similarity index 100%
rename from drivers/ata_piix.c
rename to drivers/block/ata_piix.c
diff --git a/drivers/sil680.c b/drivers/block/sil680.c
similarity index 100%
rename from drivers/sil680.c
rename to drivers/block/sil680.c
diff --git a/drivers/sym53c8xx.c b/drivers/block/sym53c8xx.c
similarity index 100%
rename from drivers/sym53c8xx.c
rename to drivers/block/sym53c8xx.c
diff --git a/drivers/systemace.c b/drivers/block/systemace.c
similarity index 100%
rename from drivers/systemace.c
rename to drivers/block/systemace.c