Date: Sun, 23 May 2010 02:40:04 +0000 (UTC) From: Nathan Whitehorn <nwhitehorn@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r208431 - in stable/8: sbin/geom/class/part sys/geom/part sys/sys Message-ID: <201005230240.o4N2e4Mv043292@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: nwhitehorn Date: Sun May 23 02:40:04 2010 New Revision: 208431 URL: http://svn.freebsd.org/changeset/base/208431 Log: MFC r200557,208173: Teach gpart about bootcode on APM. Modified: stable/8/sbin/geom/class/part/geom_part.c stable/8/sys/geom/part/g_part_apm.c stable/8/sys/sys/apm.h Directory Properties: stable/8/sbin/geom/ (props changed) stable/8/sbin/geom/class/stripe/ (props changed) stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) stable/8/sys/geom/sched/ (props changed) Modified: stable/8/sbin/geom/class/part/geom_part.c ============================================================================== --- stable/8/sbin/geom/class/part/geom_part.c Sun May 23 02:32:52 2010 (r208430) +++ stable/8/sbin/geom/class/part/geom_part.c Sun May 23 02:40:04 2010 (r208431) @@ -602,7 +602,7 @@ gpart_bootcode(struct gctl_req *req, uns if (gctl_has_param(req, bootcode_param)) { s = gctl_get_ascii(req, bootcode_param); - bootsize = 64 * 1024; /* Arbitrary limit. */ + bootsize = 800 * 1024; /* Arbitrary limit. */ bootcode = gpart_bootfile_read(s, &bootsize); error = gctl_change_param(req, bootcode_param, bootsize, bootcode); Modified: stable/8/sys/geom/part/g_part_apm.c ============================================================================== --- stable/8/sys/geom/part/g_part_apm.c Sun May 23 02:32:52 2010 (r208430) +++ stable/8/sys/geom/part/g_part_apm.c Sun May 23 02:40:04 2010 (r208431) @@ -128,6 +128,26 @@ apm_parse_type(const char *type, char *b strncpy(buf, type, bufsz); return (0); } + alias = g_part_alias_name(G_PART_ALIAS_APPLE_BOOT); + if (!strcasecmp(type, alias)) { + strcpy(buf, APM_ENT_TYPE_APPLE_BOOT); + return (0); + } + alias = g_part_alias_name(G_PART_ALIAS_APPLE_HFS); + if (!strcasecmp(type, alias)) { + strcpy(buf, APM_ENT_TYPE_APPLE_HFS); + return (0); + } + alias = g_part_alias_name(G_PART_ALIAS_APPLE_UFS); + if (!strcasecmp(type, alias)) { + strcpy(buf, APM_ENT_TYPE_APPLE_UFS); + return (0); + } + alias = g_part_alias_name(G_PART_ALIAS_FREEBSD_BOOT); + if (!strcasecmp(type, alias)) { + strcpy(buf, APM_ENT_TYPE_APPLE_BOOT); + return (0); + } alias = g_part_alias_name(G_PART_ALIAS_FREEBSD); if (!strcasecmp(type, alias)) { strcpy(buf, APM_ENT_TYPE_FREEBSD); @@ -429,6 +449,12 @@ g_part_apm_type(struct g_part_table *bas entry = (struct g_part_apm_entry *)baseentry; type = entry->ent.ent_type; + if (!strcmp(type, APM_ENT_TYPE_APPLE_BOOT)) + return (g_part_alias_name(G_PART_ALIAS_APPLE_BOOT)); + if (!strcmp(type, APM_ENT_TYPE_APPLE_HFS)) + return (g_part_alias_name(G_PART_ALIAS_APPLE_HFS)); + if (!strcmp(type, APM_ENT_TYPE_APPLE_UFS)) + return (g_part_alias_name(G_PART_ALIAS_APPLE_UFS)); if (!strcmp(type, APM_ENT_TYPE_FREEBSD)) return (g_part_alias_name(G_PART_ALIAS_FREEBSD)); if (!strcmp(type, APM_ENT_TYPE_FREEBSD_SWAP)) Modified: stable/8/sys/sys/apm.h ============================================================================== --- stable/8/sys/sys/apm.h Sun May 23 02:32:52 2010 (r208430) +++ stable/8/sys/sys/apm.h Sun May 23 02:40:04 2010 (r208431) @@ -61,6 +61,8 @@ struct apm_ent { #define APM_ENT_TYPE_FREEBSD_VINUM "FreeBSD-Vinum" #define APM_ENT_TYPE_FREEBSD_ZFS "FreeBSD-ZFS" +#define APM_ENT_TYPE_APPLE_BOOT "Apple_Bootstrap" #define APM_ENT_TYPE_APPLE_HFS "Apple_HFS" +#define APM_ENT_TYPE_APPLE_UFS "Apple_UNIX_SVR2" #endif /* _SYS_APM_H_ */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201005230240.o4N2e4Mv043292>