CVS commit: src/usr.sbin/sysinst/arch/mac68k
Module Name:src Committed By: rin Date: Mon Aug 10 06:54:45 UTC 2020 Modified Files: src/usr.sbin/sysinst/arch/mac68k: Makefile Log Message: Silence -Wstringop-truncation for ``name'' in disp_selected_part(). This variable is used only for display, and truncation seems harmless. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/mac68k/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/sysinst/arch/mac68k/Makefile diff -u src/usr.sbin/sysinst/arch/mac68k/Makefile:1.2 src/usr.sbin/sysinst/arch/mac68k/Makefile:1.3 --- src/usr.sbin/sysinst/arch/mac68k/Makefile:1.2 Wed Jun 12 06:20:21 2019 +++ src/usr.sbin/sysinst/arch/mac68k/Makefile Mon Aug 10 06:54:45 2020 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.2 2019/06/12 06:20:21 martin Exp $ +# $NetBSD: Makefile,v 1.3 2020/08/10 06:54:45 rin Exp $ # # Makefile for mac68k # @@ -13,4 +13,7 @@ NO_GPT= yes NO_MBR= yes .endif +# XXX +COPTS.md.c= -Wno-stringop-truncation + .include "../../Makefile.inc"
CVS commit: src/usr.sbin/sysinst/arch/mac68k
Module Name:src Committed By: martin Date: Mon Feb 10 16:08:59 UTC 2020 Modified Files: src/usr.sbin/sysinst/arch/mac68k: md.c Log Message: Finish conversion to generic partitioning backend To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/sysinst/arch/mac68k/md.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/sysinst/arch/mac68k/md.c diff -u src/usr.sbin/sysinst/arch/mac68k/md.c:1.8 src/usr.sbin/sysinst/arch/mac68k/md.c:1.9 --- src/usr.sbin/sysinst/arch/mac68k/md.c:1.8 Sat Jul 13 17:13:38 2019 +++ src/usr.sbin/sysinst/arch/mac68k/md.c Mon Feb 10 16:08:58 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.8 2019/07/13 17:13:38 martin Exp $ */ +/* $NetBSD: md.c,v 1.9 2020/02/10 16:08:58 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -247,12 +247,13 @@ md_get_info(struct install_partition_des bool md_make_bsd_partitions(struct install_partition_desc *install) { - int rv; -#if 0 // XXX - FILE *f; - int i, j, pl; + int i, j, rv; EBZB *bzb; -#endif + struct disk_part_info info; + uint fs_type; + const char *mountpoint; + part_id pid; + size_t ndx; /* * Scan for any problems and report them before continuing. @@ -272,16 +273,10 @@ md_make_bsd_partitions(struct install_pa break; } -#if 0 // XXX - /* Build standard partitions */ - memset(&pm->bsdlabel, 0, sizeof pm->bsdlabel); + /* Start with empty fake disklabel partitions */ + pm->parts->pscheme->delete_all_partitions(pm->parts); /* - * The mac68k port has a predefined partition for "c" which - * is the size of the disk, everything else is unused. - */ - pm->bsdlabel[RAW_PART].pi_size = pm->dlsize; - /* * Now, scan through the Disk Partition Map and transfer the * information into the incore disklabel. */ @@ -289,80 +284,63 @@ md_make_bsd_partitions(struct install_pa j = map.mblk[i]; bzb = (EBZB *)&map.blk[j].pmBootArgs[0]; if (bzb->flags.part) { - pl = bzb->flags.part - 'a'; + mountpoint = NULL; + fs_type = FS_UNUSED; switch (whichType(&map.blk[j])) { case HFS_PART: - pm->bsdlabel[pl].pi_fstype = FS_HFS; - strcpy (pm->bsdlabel[pl].pi_mount, (char *)bzb->mount_point); + fs_type = FS_HFS; + mountpoint = (const char*)bzb->mount_point; break; case ROOT_PART: case UFS_PART: - pm->bsdlabel[pl].pi_fstype = FS_BSDFFS; - strcpy (pm->bsdlabel[pl].pi_mount, (char *)bzb->mount_point); - pm->bsdlabel[pl].pi_flags |= PIF_NEWFS | PIF_MOUNT; + fs_type = FS_BSDFFS; + mountpoint = (const char*)bzb->mount_point; break; case SWAP_PART: - pm->bsdlabel[pl].pi_fstype = FS_SWAP; + fs_type = FS_SWAP; break; case SCRATCH_PART: - pm->bsdlabel[pl].pi_fstype = FS_OTHER; - strcpy (pm->bsdlabel[pl].pi_mount, (char *)bzb->mount_point); - default: + fs_type = FS_OTHER; + mountpoint = (const char*)bzb->mount_point; break; + default: + continue; } - if (pm->bsdlabel[pl].pi_fstype != FS_UNUSED) { - pm->bsdlabel[pl].pi_size = map.blk[j].pmPartBlkCnt; - pm->bsdlabel[pl].pi_offset = map.blk[j].pmPyPartStart; - if (pm->bsdlabel[pl].pi_fstype != FS_SWAP) { - pm->bsdlabel[pl].pi_frag = 8; - pm->bsdlabel[pl].pi_fsize = 1024; - } + if (fs_type != FS_UNUSED) { + memset(&info, 0, sizeof info); + info.start = map.blk[j].pmPyPartStart; + info.size = map.blk[j].pmPartBlkCnt; + info.fs_type = fs_type; + info.last_mounted = mountpoint; + info.nat_type = pm->parts->pscheme->get_fs_part_type( + PT_root, fs_type, 0); + pid = pm->parts->pscheme->add_outer_partition(pm->parts, + &info, NULL); + if (pid == NO_PART) +return false; } } } /* Disk name - don't bother asking, just use the physical name*/ - strcpy (pm->bsddiskname, pm->diskdev); + pm->parts->pscheme->set_disk_pack_name(pm->parts, pm->diskdev); -#ifdef DEBUG - f = fopen ("/tmp/disktab", "w"); -#else - f = fopen ("/etc/disktab", "w"); -#endif - if (f == NULL) { - endwin(); - (void) fprintf (stderr, "Could not open /etc/disktab"); - exit (1); + /* Write the converted partitions */ + if (!pm->parts->pscheme->write_to_disk(pm->parts)) + return false; + + /* now convert to install info */ + if (!install_desc_from_parts(install, pm->parts)) + return false; + + /* set newfs flag for all FFS partitions */ + for (ndx = 0; ndx < install->num; ndx++) { + if (install->infos[ndx].fs_type == FS_BSDFFS && + install->infos[ndx].size > 0 && + (install->infos[ndx].instflags & PUIINST_MOUNT)) + install->infos[ndx].instflags |= PUIINST_NEWFS; } - (void)fprintf (f, "%s|NetBSD installation generated:\\\n", pm->bsddiskname); - (void)fprintf (f, "\t:dt=%s:ty=winchester:\\\n", pm->disktype); - (void)fprintf (f, "\t:nc#%d:nt#%d:ns#%d:\\\n", pm->dlcyl, pm->dlhead, pm->dlsec); - (void)fprintf (f, "\t:sc#%d:su#%" PRIu32 ":\\\n", pm->dlhead*pm-
CVS commit: src/usr.sbin/sysinst/arch/mac68k
Module Name:src Committed By: dholland Date: Tue May 31 02:49:50 UTC 2016 Modified Files: src/usr.sbin/sysinst/arch/mac68k: md.c Log Message: Disable the code that tries to prepare a new partition table (but doesn't do anything with it...) because it's zooming off the end of the array it's trying to use. It looks to me as if NEW_MAP_SIZE has been accidentally used as both the number of blocks occupied by the new partition table and also the number of entries in it. Or something. This needs platform knowledge to sort out. XXX. Workaround for PR 50757. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/sysinst/arch/mac68k/md.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/sysinst/arch/mac68k/md.c diff -u src/usr.sbin/sysinst/arch/mac68k/md.c:1.4 src/usr.sbin/sysinst/arch/mac68k/md.c:1.5 --- src/usr.sbin/sysinst/arch/mac68k/md.c:1.4 Mon May 11 12:57:55 2015 +++ src/usr.sbin/sysinst/arch/mac68k/md.c Tue May 31 02:49:50 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.4 2015/05/11 12:57:55 martin Exp $ */ +/* $NetBSD: md.c,v 1.5 2016/05/31 02:49:50 dholland Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -173,6 +173,21 @@ md_get_info(void) * need to completely initialize the disk. */ pm->dlsize = disklabel.d_secperunit; +/* + * XXX this code is broken: it accesses off the end of new_map[], + * because NEW_MAP_SIZE is substantially larger than the number of + * entries in new_map[]. Based on the description of struct + * apple_part_map_entry in sys/bootblock.h, and the usage of it in + * new_map[], NEW_MAP_SIZE is expected to be a block count, not an + * entry count. As far I can tell the logic here is just wrong; it + * needs someone with platform knowledge to sort it out. + * + * Note that nothing uses the data this writes into new_map[] so + * disabling it should have no adverse consequences. + * + * - dholland 20160530 + */ +#if 0 /* XXX broken */ for (i=0;i 0) new_map[i].pmPyPartStart = new_map[i-1].pmPyPartStart + @@ -185,6 +200,7 @@ md_get_info(void) } pm->dlsize -= new_map[i].pmPartBlkCnt; } +#endif /* 0 - broken */ pm->dlsize = disklabel.d_secperunit; #if 0 msg_display(MSG_dldebug, blk_size, pm->dlcyl, pm->dlhead, pm->dlsec, pm->dlsize);
CVS commit: src/usr.sbin/sysinst/arch/mac68k
Module Name:src Committed By: martin Date: Mon May 11 21:07:56 UTC 2015 Modified Files: src/usr.sbin/sysinst/arch/mac68k: menus.md.de menus.md.en menus.md.es menus.md.pl Log Message: Missed a few more "yesno" in previous To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/mac68k/menus.md.de \ src/usr.sbin/sysinst/arch/mac68k/menus.md.en \ src/usr.sbin/sysinst/arch/mac68k/menus.md.es \ src/usr.sbin/sysinst/arch/mac68k/menus.md.pl Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/sysinst/arch/mac68k/menus.md.de diff -u src/usr.sbin/sysinst/arch/mac68k/menus.md.de:1.3 src/usr.sbin/sysinst/arch/mac68k/menus.md.de:1.4 --- src/usr.sbin/sysinst/arch/mac68k/menus.md.de:1.3 Mon May 11 12:57:55 2015 +++ src/usr.sbin/sysinst/arch/mac68k/menus.md.de Mon May 11 21:07:56 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: menus.md.de,v 1.3 2015/05/11 12:57:55 martin Exp $ */ +/* $NetBSD: menus.md.de,v 1.4 2015/05/11 21:07:56 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -44,12 +44,12 @@ menu nodiskmap, title "Bitte wählen Sie" endwin(); exit(1); }; option "Initialisiere Festplatten Partition Übersicht", exit, action { - int i; + int i, rv; msg_clear(); msg_display (MSG_okwritediskmap); - process_menu (MENU_okabort, NULL); - if (!yesno) { + process_menu (MENU_okabort, &rv); + if (!rv) { endwin(); return 0; } @@ -77,7 +77,7 @@ menu editparttable, title "Wählen Sie e option "Ausgewählte Partition bearbeiten", sub menu chooseid; option "Mount Point festlegen", sub menu mount_point; option "Gewählte Partition unterteilen", action { - int i, j, k, size, free_size; + int i, j, k, size, free_size, rv; char buf[40]; EBZB *bzb; @@ -112,8 +112,8 @@ menu editparttable, title "Wählen Sie e sortmerge(); } else { msg_display (MSG_diskfull); - process_menu (MENU_okabort, NULL); - if (!yesno) { + process_menu (MENU_okabort, &rv); + if (!rv) { free (map.blk); map.size = NEW_MAP_SIZE; map.in_use_cnt = new_map[0].pmMapBlkCnt; Index: src/usr.sbin/sysinst/arch/mac68k/menus.md.en diff -u src/usr.sbin/sysinst/arch/mac68k/menus.md.en:1.3 src/usr.sbin/sysinst/arch/mac68k/menus.md.en:1.4 --- src/usr.sbin/sysinst/arch/mac68k/menus.md.en:1.3 Mon May 11 12:57:55 2015 +++ src/usr.sbin/sysinst/arch/mac68k/menus.md.en Mon May 11 21:07:56 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: menus.md.en,v 1.3 2015/05/11 12:57:55 martin Exp $ */ +/* $NetBSD: menus.md.en,v 1.4 2015/05/11 21:07:56 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -44,12 +44,12 @@ menu nodiskmap, title "Choose an option" endwin(); exit(1); }; option "Initialize Disk partition Map", exit, action { - int i; + int i, rv; msg_clear(); msg_display (MSG_okwritediskmap); - process_menu (MENU_okabort, NULL); - if (!yesno) { + process_menu (MENU_okabort, &rv); + if (!rv) { endwin(); return 0; } @@ -77,7 +77,7 @@ menu editparttable, title "Choose your option "Change selected partition", sub menu chooseid; option "Set mount point for partition", sub menu mount_point; option "Split selected partition", action { - int i, j, k, size, free_size; + int i, j, k, size, free_size, rv; char buf[40]; EBZB *bzb; @@ -112,8 +112,8 @@ menu editparttable, title "Choose your sortmerge(); } else { msg_display (MSG_diskfull); - process_menu (MENU_okabort, NULL); - if (!yesno) { + process_menu (MENU_okabort, &rv); + if (!rv) { free (map.blk); map.size = NEW_MAP_SIZE; map.in_use_cnt = new_map[0].pmMapBlkCnt; Index: src/usr.sbin/sysinst/arch/mac68k/menus.md.es diff -u src/usr.sbin/sysinst/arch/mac68k/menus.md.es:1.3 src/usr.sbin/sysinst/arch/mac68k/menus.md.es:1.4 --- src/usr.sbin/sysinst/arch/mac68k/menus.md.es:1.3 Mon May 11 12:57:55 2015 +++ src/usr.sbin/sysinst/arch/mac68k/menus.md.es Mon May 11 21:07:56 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: menus.md.es,v 1.3 2015/05/11 12:57:55 martin Exp $ */ +/* $NetBSD: menus.md.es,v 1.4 2015/05/11 21:07:56 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -44,12 +44,12 @@ menu nodiskmap, title "Escoja una opcion endwin(); exit(1); }; option "Inicializar Mapa de particiones de Disco", exit, action { - int i; + int i, rv; msg_clear(); msg_display (MSG_okwritediskmap); - process_menu (MENU_okabort, NULL); - if (!yesno) { + process_menu (MENU_okabort, &rv); + if (!rv) { endwin(); return 0; } @@ -77,7 +77,7 @@ menu editparttable, title "Escoja su pa option "Cambiar particion seleccionada", sub menu chooseid; option "Ajustar punto de montaje para particion", sub menu mount_point; option "Partir particion seleccionada", action { - int i, j, k, size, free_size; + int i, j, k, size, free_siz
CVS commit: src/usr.sbin/sysinst/arch/mac68k
Module Name:src Committed By: martin Date: Mon May 11 12:57:55 UTC 2015 Modified Files: src/usr.sbin/sysinst/arch/mac68k: md.c menus.md.de menus.md.en menus.md.es menus.md.pl Log Message: Remove a few more (ab-)usages of "yesno". To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/mac68k/md.c cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/mac68k/menus.md.de \ src/usr.sbin/sysinst/arch/mac68k/menus.md.en \ src/usr.sbin/sysinst/arch/mac68k/menus.md.es \ src/usr.sbin/sysinst/arch/mac68k/menus.md.pl Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/sysinst/arch/mac68k/md.c diff -u src/usr.sbin/sysinst/arch/mac68k/md.c:1.3 src/usr.sbin/sysinst/arch/mac68k/md.c:1.4 --- src/usr.sbin/sysinst/arch/mac68k/md.c:1.3 Sun May 10 10:14:03 2015 +++ src/usr.sbin/sysinst/arch/mac68k/md.c Mon May 11 12:57:55 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.3 2015/05/10 10:14:03 martin Exp $ */ +/* $NetBSD: md.c,v 1.4 2015/05/11 12:57:55 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -239,7 +239,7 @@ int md_make_bsd_partitions(void) { FILE *f; - int i, j, pl; + int i, j, pl, rv; EBZB *bzb; /* @@ -250,10 +250,10 @@ md_make_bsd_partitions(void) */ while (1) { if (check_for_errors()) { - process_menu (MENU_sanity, NULL); - if (yesno < 0) + process_menu (MENU_sanity, &rv); + if (rv < 0) return 0; - else if (yesno) + else if (rv) break; edit_diskmap(); } else @@ -1166,7 +1166,7 @@ md_debug_dump(title) { char buf[96], type; char fstyp[16], use[16], name[64]; - int i, j; + int i, j, rv; EBZB *bzb; msg_clear(); @@ -1187,9 +1187,9 @@ md_debug_dump(title) map.blk[i].pmPyPartStart, fstyp, use, name); msg_table_add(MSG_dump_line, buf); } - process_menu(MENU_okabort, NULL); + process_menu(MENU_okabort, &rv); msg_clear(); - return(yesno); + return rv; } #endif /* MD_DEBUG_SORT_MERGE */ Index: src/usr.sbin/sysinst/arch/mac68k/menus.md.de diff -u src/usr.sbin/sysinst/arch/mac68k/menus.md.de:1.2 src/usr.sbin/sysinst/arch/mac68k/menus.md.de:1.3 --- src/usr.sbin/sysinst/arch/mac68k/menus.md.de:1.2 Sun Aug 3 16:09:40 2014 +++ src/usr.sbin/sysinst/arch/mac68k/menus.md.de Mon May 11 12:57:55 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: menus.md.de,v 1.2 2014/08/03 16:09:40 martin Exp $ */ +/* $NetBSD: menus.md.de,v 1.3 2015/05/11 12:57:55 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -152,8 +152,8 @@ menu ok2, title "Abbrechen?", y=17; option "OK", exit, action { }; menu okabort, title "Was möchten Sie?", y=17; - option "Fortfahren", exit, action { yesno = 1; }; - option "Installation abbrechen", exit, action { yesno = 0; }; + option "Fortfahren", exit, action { *((int*)arg) = 1; }; + option "Installation abbrechen", exit, action { *((int*)arg) = 0; }; menu chooseid, title "Partitionstyp?"; option "NetBSD Root", exit, action { @@ -321,9 +321,9 @@ menu mount_point, title "Mount Point?"; menu sanity, title "Bitte wählen Sie"; display action {msg_display (MSG_sanity_check); report_errors(); }; - option "Installation abbrechen", exit, action {yesno = -1; }; - option "Warnungen ignorieren und fortfahren", exit, action {yesno = 1;}; - option "Festplatten Partitions Übersicht erneut ändern", exit, action {yesno = 0; }; + option "Installation abbrechen", exit, action { *((int*)arg) = -1; }; + option "Warnungen ignorieren und fortfahren", exit, action { *((int*)arg) = 1;}; + option "Festplatten Partitions Übersicht erneut ändern", exit, action { *((int*)arg) = 0; }; /* * This menu shouldn't be used in the mac68k port, but it needs to be Index: src/usr.sbin/sysinst/arch/mac68k/menus.md.en diff -u src/usr.sbin/sysinst/arch/mac68k/menus.md.en:1.2 src/usr.sbin/sysinst/arch/mac68k/menus.md.en:1.3 --- src/usr.sbin/sysinst/arch/mac68k/menus.md.en:1.2 Sun Aug 3 16:09:40 2014 +++ src/usr.sbin/sysinst/arch/mac68k/menus.md.en Mon May 11 12:57:55 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: menus.md.en,v 1.2 2014/08/03 16:09:40 martin Exp $ */ +/* $NetBSD: menus.md.en,v 1.3 2015/05/11 12:57:55 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -152,8 +152,8 @@ menu ok2, title "Abort?", y=17; option "OK", exit, action { }; menu okabort, title "What do you want to do?", y=17; - option "Continue", exit, action { yesno = 1; }; - option "Abort install", exit, action { yesno = 0; }; + option "Continue", exit, action { *((int*)arg) = 1; }; + option "Abort install", exit, action { *((int*)arg) = 0; }; menu chooseid, title "Partition Type?"; option "NetBSD Root", exit, action { @@ -321,9 +321,9 @@ menu mount_point, title "Mount Point?"; menu sanity, title "Choose an option"; display action {msg_display (MSG_sanity_check); report_errors(); }; -