Mercurial > illumos > illumos-gate
changeset 25:83a8af2dd475
PSARC 2005/373 Contract for the Miniroot Repository
6263254 console output gets graphically corrupted after the newboot
6270368 grub does not honor vendor option 150 to specify menu.lst file
6271324 boot-archive.xml is delivered into the wrong directory
6271395 grub should show progress when loading the root archive from slow devices
6272654 gcc and krtld don't get along
6273069 net install fails on v40z with external 3310 disk array
6280557 serial console redirection does not work right in some corner cases
6280646 amd64 memlist structure mismatch causes panic
6284029 boot may generate supurious warning on disabled pci config space
6285006 pxegrub truncates DHCPREQUEST packet
author | szhou |
---|---|
date | Fri, 17 Jun 2005 11:21:00 -0700 |
parents | 8cc2334c5289 |
children | e6f2b1b7e64c |
files | usr/src/cmd/svc/milestone/Makefile usr/src/cmd/svc/seed/Makefile usr/src/grub/grub-0.95/netboot/nic.c usr/src/grub/grub-0.95/stage2/builtins.c usr/src/grub/grub-0.95/stage2/fsys_iso9660.c usr/src/pkgdefs/SUNWcsr/prototype_com usr/src/pkgdefs/SUNWcsu/prototype_com usr/src/psm/stand/boot/amd64/amd64/bootops64.h usr/src/psm/stand/boot/i386/common/console.c usr/src/tools/scripts/bfu.sh usr/src/uts/common/krtld/bootrd.c usr/src/uts/i86pc/io/pci/pci_boot.c usr/src/uts/intel/io/vgatext/vgatext.c usr/src/uts/intel/promif/prom_version.c |
diffstat | 14 files changed, 157 insertions(+), 73 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/cmd/svc/milestone/Makefile Fri Jun 17 10:44:30 2005 -0700 +++ b/usr/src/cmd/svc/milestone/Makefile Fri Jun 17 11:21:00 2005 -0700 @@ -35,7 +35,6 @@ console-login.xml FSSVCS= \ - boot-archive.xml \ local-fs.xml \ minimal-fs.xml \ root-fs.xml \ @@ -70,6 +69,7 @@ SYSDEVMANIFESTS= $(SYSDEVSVCS:%=$(ROOTSVCSYSTEMDEVICE)/%) SYSTEMSVCS= \ + boot-archive.xml \ console-login.xml \ identity.xml \ manifest-import.xml \
--- a/usr/src/cmd/svc/seed/Makefile Fri Jun 17 10:44:30 2005 -0700 +++ b/usr/src/cmd/svc/seed/Makefile Fri Jun 17 11:21:00 2005 -0700 @@ -29,6 +29,7 @@ ETCSVC = $(ROOTETC)/svc LIBSVCSEED = $(ROOT)/lib/svc/seed +INSTALLSEED = $(ROOT)/usr/sadm/install # # Because seed repository construction requires a functioning repository, a @@ -37,26 +38,29 @@ # # -# GLOBAL_ZONE_DESCRIPTIONS and NONGLOBAL_ZONE_DESCRIPTIONS contain the -# services used to define a 'seed repository' for a standalone Solaris -# instance or for a zone, respectively. A service needed for either one of -# these seeds must be added to the appropriate macro. The definition of a seed -# repository is a self-consistent set of services that can boot. +# We build and deliver 3 seed repositories: +# global.db -- for a standalone Solaris (global zone) +# nonglobal.db -- for a Solaris Zone +# miniroot.db -- for the install miniroot +# COMMON_DESCRIPTIONS contains manifests needed by all 3 repositories. +# GLOBAL_ZONE_DESCRIPTIONS/NONGLOBAL_ZONE_DESCRIPTIONS/MINIROOT_DESCRIPTIONS +# contain additional manifests needed. # -GLOBAL_ZONE_DESCRIPTIONS = \ + +# +# Manifests needed by all seed repositories. If you change this, you +# must test Solaris standalone, Solaris zone, and Install miniroot. +# +COMMON_DESCRIPTIONS = \ ../milestone/boot-archive.xml \ - ../milestone/console-login.xml \ ../milestone/datalink.xml \ - ../milestone/datalink-init.xml \ ../milestone/devices-local.xml \ ../milestone/identity.xml \ ../milestone/local-fs.xml \ ../milestone/manifest-import.xml \ ../milestone/minimal-fs.xml \ - ../milestone/multi-user-server.xml \ ../milestone/multi-user.xml \ ../milestone/name-services.xml \ - ../milestone/aggregation.xml \ ../milestone/network-initial.xml \ ../milestone/network-loopback.xml \ ../milestone/network-physical.xml \ @@ -65,34 +69,49 @@ ../milestone/single-user.xml \ ../milestone/usr-fs.xml \ ../../rpcbind/bind.xml \ + +# +# Additional manifests for standalone Solaris +# +GLOBAL_ZONE_DESCRIPTIONS = \ + ../milestone/console-login.xml \ + ../milestone/datalink-init.xml \ + ../milestone/multi-user-server.xml \ + ../milestone/aggregation.xml \ ../../cmd-inet/usr.lib/inetd/inetd-upgrade.xml \ ../../utmpd/utmp.xml \ ../../lvm/util/metainit.xml \ ../../ipf/svc/pfil.xml +# +# Additional manifests for a Solaris zone +# NONGLOBAL_ZONE_DESCRIPTIONS = \ - ../milestone/boot-archive.xml \ ../milestone/console-login.xml \ - ../milestone/datalink.xml \ - ../milestone/devices-local.xml \ - ../milestone/identity.xml \ - ../milestone/local-fs.xml \ - ../milestone/manifest-import.xml \ - ../milestone/minimal-fs.xml \ ../milestone/multi-user-server.xml \ - ../milestone/multi-user.xml \ - ../milestone/name-services.xml \ ../milestone/aggregation.xml \ - ../milestone/network-initial.xml \ - ../milestone/network-loopback.xml \ - ../milestone/network-physical.xml \ - ../milestone/restarter.xml \ - ../milestone/root-fs.xml \ - ../milestone/single-user.xml \ - ../milestone/usr-fs.xml \ - ../../rpcbind/bind.xml \ ../../utmpd/utmp.xml +# +# Additional manifests for the install miniroot. +# +MINIROOT_DESCRIPTIONS= \ + ../milestone/datalink-init.xml \ + ../milestone/sysconfig.xml \ + ../../cmd-inet/usr.lib/inetd/inetd.xml \ + ../../cmd-inet/usr.sbin/login.xml \ + ../milestone/network-service.xml \ + ../../cmd-inet/usr.sbin/telnet.xml \ + ../../../lib/libresolv2/client.xml \ + ../../ldapcachemgr/client.xml \ + ../../ypcmd/client.xml \ + ../../ypcmd/server.xml \ + ../../keyserv/keyserv.xml \ + ../../rpcsvc/nisplus.xml \ + ../../cmd-crypto/scripts/cryptosvc.xml \ + ../../nscd/name-service-cache.xml \ + ../../syslogd/system-log.xml + OWNER = root GROUP = sys FILEMODE = 0600 @@ -104,7 +123,7 @@ .KEEP_STATE: -all: global.db nonglobal.db +all: global.db nonglobal.db miniroot.db $(CONFIGD): FRC @cd ../configd; pwd; $(MAKE) $(MFLAGS) native @@ -115,8 +134,19 @@ ../milestone/console-login.xml: @cd ../milestone; pwd; $(MAKE) $(MFLAGS) console-login.xml -global.db: $(GLOBAL_ZONE_DESCRIPTIONS) $(CONFIGD) $(SVCCFG) +common.db: $(COMMON_DESCRIPTIONS) $(CONFIGD) $(SVCCFG) + $(RM) -f common.db common.db-journal + for m in $(COMMON_DESCRIPTIONS); do \ + echo $$m; \ + SVCCFG_DTD=../dtd/service_bundle.dtd.1 \ + SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/common.db \ + SVCCFG_CONFIGD_PATH=$(CONFIGD) \ + $(SVCCFG) import $$m; \ + done + +global.db: common.db $(GLOBAL_ZONE_DESCRIPTIONS) $(CONFIGD) $(SVCCFG) $(RM) -f global.db global.db-journal + $(CP) common.db global.db for m in $(GLOBAL_ZONE_DESCRIPTIONS); do \ echo $$m; \ SVCCFG_DTD=../dtd/service_bundle.dtd.1 \ @@ -125,8 +155,9 @@ $(SVCCFG) import $$m; \ done -nonglobal.db: $(NONGLOBAL_ZONE_DESCRIPTIONS) $(CONFIGD) $(SVCCFG) - $(RM) -f nonglobal.db global.db-journal +nonglobal.db: common.db $(NONGLOBAL_ZONE_DESCRIPTIONS) $(CONFIGD) $(SVCCFG) + $(RM) -f nonglobal.db nonglobal.db-journal + $(CP) common.db nonglobal.db for m in $(NONGLOBAL_ZONE_DESCRIPTIONS); do \ echo $$m; \ SVCCFG_DTD=../dtd/service_bundle.dtd.1 \ @@ -135,7 +166,18 @@ $(SVCCFG) import $$m; \ done -install: install_global install_nonglobal +miniroot.db: common.db $(MINIROOT_DESCRIPTIONS) $(CONFIGD) $(SVCCFG) + $(RM) -f miniroot.db miniroot.db-journal + $(CP) common.db miniroot.db + for m in $(MINIROOT_DESCRIPTIONS); do \ + echo $$m; \ + SVCCFG_DTD=../dtd/service_bundle.dtd.1 \ + SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/miniroot.db \ + SVCCFG_CONFIGD_PATH=$(CONFIGD) \ + $(SVCCFG) import $$m; \ + done + +install: install_global install_nonglobal install_miniroot install_global: global.db $(RM) $(LIBSVCSEED)/global.db @@ -145,9 +187,17 @@ $(RM) $(LIBSVCSEED)/nonglobal.db $(INS) -f $(LIBSVCSEED) -m $(SEEDFILEMODE) -s nonglobal.db +install_miniroot: $(INSTALLSEED) miniroot.db + $(RM) $(INSTALLSEED)/miniroot.db + $(INS) -f $(INSTALLSEED) -m $(SEEDFILEMODE) -s miniroot.db + +$(INSTALLSEED): + $(INS.dir) + clean lint: + $(RM) common.db clobber: - $(RM) global.db nonglobal.db + $(RM) common.db global.db nonglobal.db miniroot.db FRC:
--- a/usr/src/grub/grub-0.95/netboot/nic.c Fri Jun 17 10:44:30 2005 -0700 +++ b/usr/src/grub/grub-0.95/netboot/nic.c Fri Jun 17 11:21:00 2005 -0700 @@ -460,6 +460,7 @@ memcpy(arptable[ARP_SERVER].node, arpreply->shwaddr, ETH_ALEN); memcpy(&arptable[ARP_SERVER].ipaddr, arpreply->sipaddr, sizeof(in_addr)); memcpy(&arptable[ARP_CLIENT].ipaddr, arpreply->tipaddr, sizeof(in_addr)); + memset(&arptable[ARP_GATEWAY].ipaddr, 0, sizeof(in_addr)); return 1; } return 0; @@ -671,7 +672,7 @@ network_ready = 0; - memset(&ip, 0, sizeof(struct dhcpip_t)); + memset(&ip, 0, sizeof(ip)); ip.bp.bp_op = BOOTP_REQUEST; ip.bp.bp_htype = 1; ip.bp.bp_hlen = ETH_ALEN; @@ -690,7 +691,7 @@ rx_qdrain(); udp_transmit(IP_BROADCAST, BOOTP_CLIENT, BOOTP_SERVER, - sizeof(struct bootpip_t), &ip); + sizeof(ip), &ip); timeout = rfc2131_sleep_interval(TIMEOUT, retry++); if (await_reply(await_dhcp, 0, NULL, timeout)) { /* If not a DHCPOFFER then must be just a @@ -710,7 +711,7 @@ memcpy(&ip.bp.bp_vend[15], &dhcp_addr, sizeof(in_addr)); for (reqretry = 0; reqretry < MAX_BOOTP_RETRIES; ) { udp_transmit(IP_BROADCAST, BOOTP_CLIENT, BOOTP_SERVER, - sizeof(struct bootpip_t), &ip); + sizeof(ip), &ip); dhcp_reply=0; timeout = rfc2131_sleep_interval(TIMEOUT, reqretry++); if (await_reply(await_dhcp, 0, NULL, timeout))
--- a/usr/src/grub/grub-0.95/stage2/builtins.c Fri Jun 17 10:44:30 2005 -0700 +++ b/usr/src/grub/grub-0.95/stage2/builtins.c Fri Jun 17 11:21:00 2005 -0700 @@ -934,8 +934,8 @@ if (grub_strcmp(config_file, "/boot/grub/menu.lst") != 0) return; - /* default solaris configfile name /menu.lst.01<ether_addr> */ - grub_strcpy(c, "/menu.lst.01"); + /* default solaris configfile name menu.lst.01<ether_addr> */ + grub_strcpy(c, "menu.lst.01"); c += grub_strlen(c); for (i = 0; i < ETH_ALEN; i++) { unsigned char b = arptable[ARP_CLIENT].node[i]; @@ -950,6 +950,12 @@ if (grub_open(menufile)) { grub_strcpy(config_file, menufile); grub_close(); + } else { + char *cp = config_file; + /* skip leading slashes for tftp */ + while (*cp++ == '/') + ; + grub_memmove (config_file, cp, strlen(cp) + 1); } }
--- a/usr/src/grub/grub-0.95/stage2/fsys_iso9660.c Fri Jun 17 10:44:30 2005 -0700 +++ b/usr/src/grub/grub-0.95/stage2/fsys_iso9660.c Fri Jun 17 11:21:00 2005 -0700 @@ -69,6 +69,7 @@ static int iso9660_devread (int sector, int byte_offset, int byte_len, char *buf) { + static int read_count = 0, threshold = 2; unsigned short sector_size_lg2 = log2(buf_geom.sector_size); /* @@ -94,6 +95,11 @@ printf ("<%d, %d, %d>", sector, byte_offset, byte_len); #endif /* !STAGE1_5 */ + read_count += (byte_len >> 9); + if ((read_count >> 11) > threshold) { + printf("."); + threshold += 2; /* one dot every 2 MB */ + } return rawread(current_drive, part_start + sector, byte_offset, byte_len, buf); }
--- a/usr/src/pkgdefs/SUNWcsr/prototype_com Fri Jun 17 10:44:30 2005 -0700 +++ b/usr/src/pkgdefs/SUNWcsr/prototype_com Fri Jun 17 11:21:00 2005 -0700 @@ -482,10 +482,10 @@ d none var/svc/manifest/platform 755 root sys d none var/svc/manifest/site 755 root sys d none var/svc/manifest/system 755 root sys +f manifest var/svc/manifest/system/boot-archive.xml 0444 root sys d none var/svc/manifest/system/device 755 root sys f manifest var/svc/manifest/system/device/devices-local.xml 0444 root sys d none var/svc/manifest/system/filesystem 0755 root sys -f manifest var/svc/manifest/system/filesystem/boot-archive.xml 0444 root sys f manifest var/svc/manifest/system/filesystem/local-fs.xml 0444 root sys f manifest var/svc/manifest/system/filesystem/minimal-fs.xml 0444 root sys f manifest var/svc/manifest/system/filesystem/root-fs.xml 0444 root sys
--- a/usr/src/pkgdefs/SUNWcsu/prototype_com Fri Jun 17 10:44:30 2005 -0700 +++ b/usr/src/pkgdefs/SUNWcsu/prototype_com Fri Jun 17 11:21:00 2005 -0700 @@ -651,6 +651,7 @@ l none usr/sadm/bin/valuid=../../../usr/bin/ckuid l none usr/sadm/bin/valyorn=../../../usr/bin/ckyorn d none usr/sadm/install 755 root bin +f none usr/sadm/install/miniroot.db 444 root sys d none usr/sadm/install/scripts 755 root bin f none usr/sadm/install/scripts/i.ipsecalgs 555 root sys f none usr/sadm/install/scripts/r.ipsecalgs 555 root sys
--- a/usr/src/psm/stand/boot/amd64/amd64/bootops64.h Fri Jun 17 10:44:30 2005 -0700 +++ b/usr/src/psm/stand/boot/amd64/amd64/bootops64.h Fri Jun 17 11:21:00 2005 -0700 @@ -41,7 +41,10 @@ struct bsys_mem64 { caddr64_t physinstalled; /* struct memlist64 pointer */ caddr64_t physavail; /* struct memlist64 pointer */ + caddr64_t virtavail; /* struct memlist64 pointer */ caddr64_t pcimem; /* struct memlist64 pointer */ + uint32_t extent; /* unused */ + uint32_t __bsys_pad0; }; /*
--- a/usr/src/psm/stand/boot/i386/common/console.c Fri Jun 17 10:44:30 2005 -0700 +++ b/usr/src/psm/stand/boot/i386/common/console.c Fri Jun 17 11:21:00 2005 -0700 @@ -204,12 +204,17 @@ 'a' + console - CONS_TTYA); plen = bgetproplen(NULL, propname); if (plen > 0 && plen <= sizeof (propval)) { + bgetprop(NULL, propname, propval); + } else { + strcpy(propval, "9600,8,n,1,-"); + } + + { char *p; ulong_t baud; uchar_t lcr = 0; /* property is of the form: "9600,8,n,1,-" */ - bgetprop(NULL, propname, propval); p = strtok(propval, ","); if (strcmp(p, "110") == 0) baud = ASY110; @@ -296,9 +301,14 @@ "tty%c-rts-dtr-off", 'a' + console - CONS_TTYA); plen = bgetproplen(NULL, propname); if (plen > 0 && plen <= sizeof (propval)) { + bgetprop(NULL, propname, propval); + } else { + strcpy(propval, "false"); + } + + { char *p; uchar_t mcr = DTR | RTS; - bgetprop(NULL, propname, propval); if (propval[0] != 'f' && propval[0] != 'F') mcr = 0; /* set modem control bits */ @@ -314,8 +324,14 @@ console = CONS_INVALID; cons = strstr(bootstr, "console="); + if (cons) + cons += strlen("console="); + else { + cons = strstr(bootstr, "output-device="); + if (cons) + cons += strlen("output-device="); + } if (cons) { - cons += strlen("console="); if (strncmp(cons, "ttya", 4) == 0) console = CONS_TTYA; else if (strncmp(cons, "ttyb", 4) == 0)
--- a/usr/src/tools/scripts/bfu.sh Fri Jun 17 10:44:30 2005 -0700 +++ b/usr/src/tools/scripts/bfu.sh Fri Jun 17 11:21:00 2005 -0700 @@ -982,6 +982,7 @@ # smf services whose manifests have been renamed smf_renamed_manifests=" var/svc/manifest/milestone/name-service.xml + var/svc/manifest/system/filesystem/boot-archive.xml " # Obsolete smf methods
--- a/usr/src/uts/common/krtld/bootrd.c Fri Jun 17 10:44:30 2005 -0700 +++ b/usr/src/uts/common/krtld/bootrd.c Fri Jun 17 11:21:00 2005 -0700 @@ -65,8 +65,8 @@ /* add in offset of root slice */ blocknum = filep->fi_blocknum; - diskloc = (caddr_t)rd_start + blocknum * DEV_BSIZE; - if (diskloc + filep->fi_count > (caddr_t)rd_end) { + diskloc = (caddr_t)(uintptr_t)rd_start + blocknum * DEV_BSIZE; + if (diskloc + filep->fi_count > (caddr_t)(uintptr_t)rd_end) { _kobj_printf(ops, "diskread: start = 0x%p, size = 0x%x\n", diskloc, filep->fi_count); _kobj_printf(ops, "reading beyond end of ramdisk\n"); @@ -132,8 +132,8 @@ addr = BOP_ALLOC(ops, 0, size, 0); #ifdef DEBUG - if (scratch_max < (uint64_t)addr + size) - scratch_max = (uint64_t)addr + size; + if (scratch_max < (uintptr_t)addr + size) + scratch_max = (uintptr_t)addr + size; #endif return (addr); }
--- a/usr/src/uts/i86pc/io/pci/pci_boot.c Fri Jun 17 10:44:30 2005 -0700 +++ b/usr/src/uts/i86pc/io/pci/pci_boot.c Fri Jun 17 11:21:00 2005 -0700 @@ -1017,12 +1017,6 @@ */ /* io range */ val = (uint_t)pci_getb(bus, dev, func, PCI_BCNF_IO_BASE_LOW); - /* if 32-bit supported, make sure upper bits are not set */ - if ((val & 0xf) == 1 && - pci_getw(bus, dev, func, PCI_BCNF_IO_BASE_HI)) { - cmn_err(CE_NOTE, "unsupported 32-bit IO address on" - " pci-pci bridge [%d/%d/%d]", bus, dev, func); - } io_range[0] = ((val & 0xf0) << 8); val = (uint_t)pci_getb(bus, dev, func, PCI_BCNF_IO_LIMIT_LOW); io_range[1] = ((val & 0xf0) << 8) | 0xFFF; @@ -1037,6 +1031,12 @@ } dcmn_err(CE_NOTE, "bus %d io-range: 0x%x-%x", secbus, io_range[0], io_range[1]); + /* if 32-bit supported, make sure upper bits are not set */ + if ((val & 0xf) == 1 && + pci_getw(bus, dev, func, PCI_BCNF_IO_BASE_HI)) { + cmn_err(CE_NOTE, "unsupported 32-bit IO address on" + " pci-pci bridge [%d/%d/%d]", bus, dev, func); + } } /* mem range */ @@ -1060,12 +1060,6 @@ /* prefetchable memory range */ val = (uint_t)pci_getw(bus, dev, func, PCI_BCNF_PF_BASE_LOW); - /* if 64-bit supported, make sure upper bits are not set */ - if ((val & 0xf) == 1 && - pci_getl(bus, dev, func, PCI_BCNF_PF_BASE_HIGH)) { - cmn_err(CE_NOTE, "unsupported 64-bit prefetch memory on" - " pci-pci bridge [%d/%d/%d]", bus, dev, func); - } pmem_range[0] = ((val & 0xFFF0) << 16); val = (uint_t)pci_getw(bus, dev, func, PCI_BCNF_PF_LIMIT_LOW); pmem_range[1] = ((val & 0xFFF0) << 16) | 0xFFFFF; @@ -1080,6 +1074,12 @@ } dcmn_err(CE_NOTE, "bus %d pmem-range: 0x%x-%x", secbus, pmem_range[0], pmem_range[1]); + /* if 64-bit supported, make sure upper bits are not set */ + if ((val & 0xf) == 1 && + pci_getl(bus, dev, func, PCI_BCNF_PF_BASE_HIGH)) { + cmn_err(CE_NOTE, "unsupported 64-bit prefetch memory on" + " pci-pci bridge [%d/%d/%d]", bus, dev, func); + } } add_bus_range_prop(secbus);
--- a/usr/src/uts/intel/io/vgatext/vgatext.c Fri Jun 17 10:44:30 2005 -0700 +++ b/usr/src/uts/intel/io/vgatext/vgatext.c Fri Jun 17 11:21:00 2005 -0700 @@ -1375,15 +1375,18 @@ } #endif +static char vga_fontslot = 0; + static void vgatext_setfont(struct vgatext_softc *softc) { + static uchar_t fsreg[8] = {0x0, 0x30, 0x5, 0x35, 0xa, 0x3a, 0xf, 0x3f}; + extern unsigned char *ENCODINGS[]; - unsigned char *from; - unsigned char *to; - int i; - int j; - int bpc; + uchar_t *from; + uchar_t volatile *to; + int i, j, s; + int bpc, f_offset; /* Sync-reset the sequencer registers */ vga_set_seq(&softc->regs, 0x00, 0x01); @@ -1418,15 +1421,13 @@ /* * This assumes 8x16 characters, which yield the traditional 80x25 * screen. It really should support other character heights. - * - * plane2 may contain 8 font sets, we shouldn't touch font set 0, - * which is default font and kept in slot 0. we will load our own - * font in slot 2, which is 4*8K offset to slot 0; */ bpc = 16; + s = vga_fontslot; + f_offset = s * 8 * 1024; for (i = 0; i < 256; i++) { from = ENCODINGS[i]; - to = (unsigned char *)softc->fb.addr + 32768 + i * 0x20; + to = (unsigned char *)softc->fb.addr + f_offset + i * 0x20; for (j = 0; j < bpc; j++) *to++ = *from++; } @@ -1441,10 +1442,9 @@ */ vga_set_seq(&softc->regs, 0x04, 0x03); /* - * select font map that resides in slot 2 - * 010b -- font residing at 8000h - 9FFFh + * select font map */ - vga_set_seq(&softc->regs, 0x03, 0x0a); + vga_set_seq(&softc->regs, 0x03, fsreg[s]); /* Sync-reset ended, and allow the sequencer to operate */ vga_set_seq(&softc->regs, 0x00, 0x03);
--- a/usr/src/uts/intel/promif/prom_version.c Fri Jun 17 10:44:30 2005 -0700 +++ b/usr/src/uts/intel/promif/prom_version.c Fri Jun 17 11:21:00 2005 -0700 @@ -57,7 +57,7 @@ int prom_version_name(char *buf, int len) { - static char *prom_versionstr = "DevConf 2.0"; + static char prom_versionstr[] = "DevConf 2.0"; extern size_t strlcpy(char *, const char *, size_t); (void) strlcpy(buf, prom_versionstr, len - 1);