Changeset View
Changeset View
Standalone View
Standalone View
usr.sbin/bsdinstall/partedit/partedit_powerpc.c
Show All 38 Lines | |||||
const char * | const char * | ||||
default_scheme(void) { | default_scheme(void) { | ||||
size_t platlen = sizeof(platform); | size_t platlen = sizeof(platform); | ||||
if (strlen(platform) == 0) | if (strlen(platform) == 0) | ||||
sysctlbyname("hw.platform", platform, &platlen, NULL, -1); | sysctlbyname("hw.platform", platform, &platlen, NULL, -1); | ||||
if (strcmp(platform, "powermac") == 0) | if (strcmp(platform, "powermac") == 0) | ||||
return ("APM"); | return ("APM"); | ||||
if (strcmp(platform, "chrp") == 0 || strcmp(platform, "ps3") == 0) | if (strcmp(platform, "chrp") == 0 || strcmp(platform, "ps3") == 0 || | ||||
strcmp(platform, "mpc85xx") == 0) | |||||
return ("MBR"); | return ("MBR"); | ||||
/* Pick GPT as a generic default */ | /* Pick GPT as a generic default */ | ||||
return ("GPT"); | return ("GPT"); | ||||
} | } | ||||
int | int | ||||
is_scheme_bootable(const char *part_type) { | is_scheme_bootable(const char *part_type) { | ||||
size_t platlen = sizeof(platform); | size_t platlen = sizeof(platform); | ||||
if (strlen(platform) == 0) | if (strlen(platform) == 0) | ||||
sysctlbyname("hw.platform", platform, &platlen, NULL, -1); | sysctlbyname("hw.platform", platform, &platlen, NULL, -1); | ||||
if (strcmp(platform, "powermac") == 0 && strcmp(part_type, "APM") == 0) | if (strcmp(platform, "powermac") == 0 && strcmp(part_type, "APM") == 0) | ||||
return (1); | return (1); | ||||
if (strcmp(platform, "powernv") == 0 && strcmp(part_type, "GPT") == 0) | if (strcmp(platform, "powernv") == 0 && strcmp(part_type, "GPT") == 0) | ||||
return (1); | return (1); | ||||
if ((strcmp(platform, "chrp") == 0 || strcmp(platform, "ps3") == 0) && | if ((strcmp(platform, "chrp") == 0 || strcmp(platform, "ps3") == 0) && | ||||
(strcmp(part_type, "MBR") == 0 || strcmp(part_type, "BSD") == 0 || | (strcmp(part_type, "MBR") == 0 || strcmp(part_type, "BSD") == 0 || | ||||
strcmp(part_type, "GPT") == 0)) | strcmp(part_type, "GPT") == 0)) | ||||
return (1); | return (1); | ||||
if (strcmp(platform, "mpc85xx") == 0 && strcmp(part_type, "MBR") == 0) | |||||
return (1); | |||||
return (0); | return (0); | ||||
} | } | ||||
int | int | ||||
is_fs_bootable(const char *part_type, const char *fs) | is_fs_bootable(const char *part_type, const char *fs) | ||||
{ | { | ||||
if (strcmp(fs, "freebsd-ufs") == 0) | if (strcmp(fs, "freebsd-ufs") == 0) | ||||
Show All 10 Lines | if (strlen(platform) == 0) | ||||
sysctlbyname("hw.platform", platform, &platlen, NULL, -1); | sysctlbyname("hw.platform", platform, &platlen, NULL, -1); | ||||
if (strcmp(part_type, "APM") == 0) | if (strcmp(part_type, "APM") == 0) | ||||
return (800*1024); | return (800*1024); | ||||
if (strcmp(part_type, "BSD") == 0) /* Nothing for nested */ | if (strcmp(part_type, "BSD") == 0) /* Nothing for nested */ | ||||
return (0); | return (0); | ||||
if (strcmp(platform, "chrp") == 0) | if (strcmp(platform, "chrp") == 0) | ||||
return (800*1024); | return (800*1024); | ||||
if (strcmp(platform, "ps3") == 0 || strcmp(platform, "powernv") == 0) | if (strcmp(platform, "ps3") == 0 || strcmp(platform, "powernv") == 0 || | ||||
strcmp(platform, "mpc85xx") == 0) | |||||
return (512*1024*1024); | return (512*1024*1024); | ||||
return (0); | return (0); | ||||
} | } | ||||
const char * | const char * | ||||
bootpart_type(const char *scheme, const char **mountpoint) | bootpart_type(const char *scheme, const char **mountpoint) | ||||
{ | { | ||||
size_t platlen = sizeof(platform); | size_t platlen = sizeof(platform); | ||||
if (strlen(platform) == 0) | if (strlen(platform) == 0) | ||||
sysctlbyname("hw.platform", platform, &platlen, NULL, -1); | sysctlbyname("hw.platform", platform, &platlen, NULL, -1); | ||||
if (strcmp(platform, "chrp") == 0) | if (strcmp(platform, "chrp") == 0) | ||||
return ("prep-boot"); | return ("prep-boot"); | ||||
if (strcmp(platform, "powermac") == 0) | if (strcmp(platform, "powermac") == 0) | ||||
return ("apple-boot"); | return ("apple-boot"); | ||||
if (strcmp(platform, "powernv") == 0 || strcmp(platform, "ps3") == 0) { | if (strcmp(platform, "powernv") == 0 || strcmp(platform, "ps3") == 0 || | ||||
strcmp(platform, "mpc85xx") == 0) { | |||||
*mountpoint = "/boot"; | *mountpoint = "/boot"; | ||||
if (strcmp(scheme, "GPT") == 0) | if (strcmp(scheme, "GPT") == 0) | ||||
return ("ms-basic-data"); | return ("ms-basic-data"); | ||||
else if (strcmp(scheme, "MBR") == 0) | else if (strcmp(scheme, "MBR") == 0) | ||||
return ("fat32"); | return ("fat32"); | ||||
} | } | ||||
return ("freebsd-boot"); | return ("freebsd-boot"); | ||||
Show All 20 Lines |