summaryrefslogtreecommitdiffstats
path: root/sys/boot/sparc64
diff options
context:
space:
mode:
Diffstat (limited to 'sys/boot/sparc64')
-rw-r--r--sys/boot/sparc64/loader/main.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/sys/boot/sparc64/loader/main.c b/sys/boot/sparc64/loader/main.c
index cb0dda2..14cf6d6 100644
--- a/sys/boot/sparc64/loader/main.c
+++ b/sys/boot/sparc64/loader/main.c
@@ -74,6 +74,8 @@ __FBSDID("$FreeBSD$");
#include "libofw.h"
#include "dev_net.h"
+#define MAXBDDEV 31
+
extern char bootprog_name[], bootprog_rev[], bootprog_date[], bootprog_maker[];
enum {
@@ -141,7 +143,7 @@ static vm_offset_t heapva;
static phandle_t root;
#ifdef LOADER_ZFS_SUPPORT
-static int zfs_dev_init(void);
+static int sparc64_zfs_dev_init(void);
#include "zfs.c"
#endif
@@ -157,7 +159,7 @@ struct devsw *devsw[] = {
&netdev,
#endif
#ifdef LOADER_ZFS_SUPPORT
- &zfs_dev,
+ &zfs_dev_compat,
#endif
0
};
@@ -733,7 +735,7 @@ tlb_init_sun4u(void)
#ifdef LOADER_ZFS_SUPPORT
static int
-zfs_dev_init(void)
+sparc64_zfs_dev_init(void)
{
struct vtoc8 vtoc;
char devname[512];
@@ -868,6 +870,13 @@ main(int (*openfirm)(void *))
env_setenv("loaddev", EV_VOLATILE, bootpath,
env_noset, env_nounset);
+#ifdef LOADER_ZFS_SUPPORT
+ /*
+ * Patch up ZFS.
+ */
+ zfs_dev_compat.dv_init = sparc64_zfs_dev_init;
+#endif
+
/*
* Initialize devices.
*/
OpenPOWER on IntegriCloud