smbios: add max speed comdline option for type-17 (meory device) structure
Signed-off-by: Gabriel Somlo <somlo@cmu.edu> Acked-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
This commit is contained in:
		
							parent
							
								
									bdd09778a0
								
							
						
					
					
						commit
						3ebd6cc8d3
					
				| 
						 | 
				
			
			@ -91,6 +91,7 @@ static struct {
 | 
			
		|||
 | 
			
		||||
static struct {
 | 
			
		||||
    const char *loc_pfx, *bank, *manufacturer, *serial, *asset, *part;
 | 
			
		||||
    uint16_t speed;
 | 
			
		||||
} type17;
 | 
			
		||||
 | 
			
		||||
static QemuOptsList qemu_smbios_opts = {
 | 
			
		||||
| 
						 | 
				
			
			@ -304,6 +305,10 @@ static const QemuOptDesc qemu_smbios_type17_opts[] = {
 | 
			
		|||
        .name = "part",
 | 
			
		||||
        .type = QEMU_OPT_STRING,
 | 
			
		||||
        .help = "part number",
 | 
			
		||||
    },{
 | 
			
		||||
        .name = "speed",
 | 
			
		||||
        .type = QEMU_OPT_NUMBER,
 | 
			
		||||
        .help = "maximum capable speed",
 | 
			
		||||
    },
 | 
			
		||||
    { /* end of list */ }
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -697,13 +702,13 @@ static void smbios_build_type_17_table(unsigned instance, uint64_t size)
 | 
			
		|||
    SMBIOS_TABLE_SET_STR(17, bank_locator_str, type17.bank);
 | 
			
		||||
    t->memory_type = 0x07; /* RAM */
 | 
			
		||||
    t->type_detail = cpu_to_le16(0x02); /* Other */
 | 
			
		||||
    t->speed = cpu_to_le16(0); /* Unknown */
 | 
			
		||||
    t->speed = cpu_to_le16(type17.speed);
 | 
			
		||||
    SMBIOS_TABLE_SET_STR(17, manufacturer_str, type17.manufacturer);
 | 
			
		||||
    SMBIOS_TABLE_SET_STR(17, serial_number_str, type17.serial);
 | 
			
		||||
    SMBIOS_TABLE_SET_STR(17, asset_tag_number_str, type17.asset);
 | 
			
		||||
    SMBIOS_TABLE_SET_STR(17, part_number_str, type17.part);
 | 
			
		||||
    t->attributes = 0; /* Unknown */
 | 
			
		||||
    t->configured_clock_speed = cpu_to_le16(0); /* Unknown */
 | 
			
		||||
    t->configured_clock_speed = t->speed; /* reuse value for max speed */
 | 
			
		||||
    t->minimum_voltage = cpu_to_le16(0); /* Unknown */
 | 
			
		||||
    t->maximum_voltage = cpu_to_le16(0); /* Unknown */
 | 
			
		||||
    t->configured_voltage = cpu_to_le16(0); /* Unknown */
 | 
			
		||||
| 
						 | 
				
			
			@ -1083,6 +1088,7 @@ void smbios_entry_add(QemuOpts *opts)
 | 
			
		|||
            save_opt(&type17.serial, opts, "serial");
 | 
			
		||||
            save_opt(&type17.asset, opts, "asset");
 | 
			
		||||
            save_opt(&type17.part, opts, "part");
 | 
			
		||||
            type17.speed = qemu_opt_get_number(opts, "speed", 0);
 | 
			
		||||
            return;
 | 
			
		||||
        default:
 | 
			
		||||
            error_report("Don't know how to build fields for SMBIOS type %ld",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1403,7 +1403,7 @@ DEF("smbios", HAS_ARG, QEMU_OPTION_smbios,
 | 
			
		|||
    "              [,asset=str][,part=str]\n"
 | 
			
		||||
    "                specify SMBIOS type 4 fields\n"
 | 
			
		||||
    "-smbios type=17[,loc_pfx=str][,bank=str][,manufacturer=str][,serial=str]\n"
 | 
			
		||||
    "               [,asset=str][,part=str]\n"
 | 
			
		||||
    "               [,asset=str][,part=str][,speed=%d]\n"
 | 
			
		||||
    "                specify SMBIOS type 17 fields\n",
 | 
			
		||||
    QEMU_ARCH_I386)
 | 
			
		||||
STEXI
 | 
			
		||||
| 
						 | 
				
			
			@ -1426,7 +1426,7 @@ Specify SMBIOS type 3 fields
 | 
			
		|||
@item -smbios type=4[,sock_pfx=@var{str}][,manufacturer=@var{str}][,version=@var{str}][,serial=@var{str}][,asset=@var{str}][,part=@var{str}]
 | 
			
		||||
Specify SMBIOS type 4 fields
 | 
			
		||||
 | 
			
		||||
@item -smbios type=17[,loc_pfx=@var{str}][,bank=@var{str}][,manufacturer=@var{str}][,serial=@var{str}][,asset=@var{str}][,part=@var{str}]
 | 
			
		||||
@item -smbios type=17[,loc_pfx=@var{str}][,bank=@var{str}][,manufacturer=@var{str}][,serial=@var{str}][,asset=@var{str}][,part=@var{str}][,speed=@var{%d}]
 | 
			
		||||
Specify SMBIOS type 17 fields
 | 
			
		||||
ETEXI
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue