static void update_size(void) { char text[32]; carbon_debug("update-size()\n"); snprintf(text, sizeof(text), _("%ld MB"), BYTES2MB(cur_info->install_size)); carbon_SetLabelText(MyRes, OPTION_ESTSIZE_VALUE_LABEL_ID, text); check_install_button(); }
/* * agp_target_get_apsize() * * Description: * This function gets the AGP aperture size by reading the AGP aperture * size register. * Arguments: * softstate driver soft state pointer * * Return: * size The AGP aperture size in megabytes * 0 an unexpected error */ static size_t agp_target_get_apsize(agp_target_softstate_t *softstate) { off_t cap; uint16_t value; size_t size, regsize; ASSERT(softstate->tsoft_acaptr); cap = softstate->tsoft_acaptr; if ((softstate->tsoft_devid & VENDOR_ID_MASK) == INTEL_VENDOR_ID) { /* extend this value to 16 bit for later tests */ value = (uint16_t)pci_config_get8(softstate->tsoft_pcihdl, cap + AGP_CONF_APERSIZE) | AGP_APER_SIZE_MASK; } else { value = pci_config_get16(softstate->tsoft_pcihdl, cap + AGP_CONF_APERSIZE); } if (value & AGP_APER_128M_MASK) { switch (value & AGP_APER_128M_MASK) { case AGP_APER_4M: size = 4; /* 4M */ break; case AGP_APER_8M: size = 8; /* 8M */ break; case AGP_APER_16M: size = 16; /* 16M */ break; case AGP_APER_32M: size = 32; /* 32M */ break; case AGP_APER_64M: size = 64; /* 64M */ break; case AGP_APER_128M: size = 128; /* 128M */ break; default: size = 0; /* not true */ } } else { switch (value & AGP_APER_4G_MASK) { case AGP_APER_256M: size = 256; /* 256 M */ break; case AGP_APER_512M: size = 512; /* 512 M */ break; case AGP_APER_1024M: size = 1024; /* 1024 M */ break; case AGP_APER_2048M: size = 2048; /* 2048 M */ break; case AGP_APER_4G: size = 4096; /* 4096 M */ break; default: size = 0; /* not true */ } } /* * In some cases, there is no APSIZE register, so the size value * of 256M could be wrong. Check the value by reading the size of * the first register which was set in the PCI configuration space. */ if (size == 256) { if (ddi_dev_regsize(softstate->tsoft_dip, AGP_TARGET_BAR1, (off_t *)®size) == DDI_FAILURE) return (0); if (MB2BYTES(size) != regsize) { TARGETDB_PRINT2((CE_WARN, "APSIZE 256M doesn't match regsize %lx", regsize)); TARGETDB_PRINT2((CE_WARN, "Use regsize instead")); size = BYTES2MB(regsize); } } return (size); }