[OpenBIOS] r291 - openbios-devel/modules

svn at openbios.org svn at openbios.org
Thu Dec 18 21:44:20 CET 2008


Author: blueswirl
Date: 2008-12-18 21:44:20 +0100 (Thu, 18 Dec 2008)
New Revision: 291

Modified:
   openbios-devel/modules/disk-label.c
   openbios-devel/modules/mac-parts.c
   openbios-devel/modules/pc-parts.c
   openbios-devel/modules/sun-parts.c
Log:
Add block-size to partition packages.

Yaboot uses "block-size" with disk-label packages.

This patch add block-size to all partitions packages.

Signed-off-by: Laurent Vivier <Laurent at lvivier.info>


Modified: openbios-devel/modules/disk-label.c
===================================================================
--- openbios-devel/modules/disk-label.c	2008-12-15 20:35:31 UTC (rev 290)
+++ openbios-devel/modules/disk-label.c	2008-12-18 20:44:20 UTC (rev 291)
@@ -200,12 +200,30 @@
 	PUSH(0);
 }
 
+static void
+dlabel_block_size( dlabel_info_t *di )
+{
+	xt_t xt;
+
+	if( !di->part_ih )
+		goto no_handler;
+
+	xt = find_ih_method("block-size", di->part_ih);
+	if ( !xt )
+		goto no_handler;
+
+	call_package( xt , di->part_ih );
+	return;
+no_handler:
+	PUSH(512);
+}
+
 NODE_METHODS( dlabel ) = {
 	{ "open",	dlabel_open 	},
 	{ "close",	dlabel_close 	},
 	{ "offset",	dlabel_offset 	},
 	{ "load",	dlabel_load 	},
-
+	{ "block-size", dlabel_block_size },
 	{ "read",	dlabel_read 	},
 	{ "write",	dlabel_write 	},
 	{ "seek",	dlabel_seek 	},

Modified: openbios-devel/modules/mac-parts.c
===================================================================
--- openbios-devel/modules/mac-parts.c	2008-12-15 20:35:31 UTC (rev 290)
+++ openbios-devel/modules/mac-parts.c	2008-12-18 20:44:20 UTC (rev 291)
@@ -119,6 +119,12 @@
 }
 
 static void
+macparts_block_size( __attribute__((unused))macparts_info_t *di )
+{
+	PUSH(512);
+}
+
+static void
 macparts_initialize( macparts_info_t *di )
 {
 	fword("register-partition-package");
@@ -128,6 +134,7 @@
 	{ "probe",	macparts_probe 		},
 	{ "open",	macparts_open 		},
 	{ "get-info",	macparts_get_info 	},
+	{ "block-size",	macparts_block_size 	},
 	{ NULL,		macparts_initialize	},
 };
 

Modified: openbios-devel/modules/pc-parts.c
===================================================================
--- openbios-devel/modules/pc-parts.c	2008-12-15 20:35:31 UTC (rev 290)
+++ openbios-devel/modules/pc-parts.c	2008-12-18 20:44:20 UTC (rev 291)
@@ -186,6 +186,12 @@
 }
 
 static void
+pcparts_block_size( __attribute__((unused))pcparts_info_t *di )
+{
+	PUSH(512);
+}
+
+static void
 pcparts_initialize( pcparts_info_t *di )
 {
 	fword("register-partition-package");
@@ -195,6 +201,7 @@
 	{ "probe",	pcparts_probe 		},
 	{ "open",	pcparts_open 		},
 	{ "get-info",	pcparts_get_info 	},
+	{ "block-size",	pcparts_block_size 	},
 	{ NULL,		pcparts_initialize	},
 };
 

Modified: openbios-devel/modules/sun-parts.c
===================================================================
--- openbios-devel/modules/sun-parts.c	2008-12-15 20:35:31 UTC (rev 290)
+++ openbios-devel/modules/sun-parts.c	2008-12-18 20:44:20 UTC (rev 291)
@@ -173,6 +173,12 @@
 }
 
 static void
+sunparts_block_size( __attribute__((unused))sunparts_info_t *di )
+{
+	PUSH(512);
+}
+
+static void
 sunparts_initialize( __attribute__((unused))sunparts_info_t *di )
 {
 	fword("register-partition-package");
@@ -182,6 +188,7 @@
 	{ "probe",	sunparts_probe 		},
 	{ "open",	sunparts_open 		},
 	{ "get-info",	sunparts_get_info 	},
+	{ "block-size",	sunparts_block_size 	},
 	{ NULL,		sunparts_initialize	},
 };
 




More information about the OpenBIOS mailing list