On 2011-09-18 17:51, Avi Kivity wrote:
> On 09/18/2011 03:44 PM, Jan Kiszka wrote:
>> From: Jan Kiszka<address@hidden>
>>
>> Fix copy&paste errors and reduce duplications of the BOCHS VBE ranges.
>>
>> Signed-off-by: Jan Kiszka<address@hidden>
>> ---
>>
>> #ifdef CONFIG_BOCHS_VBE
>> static const MemoryRegionPortio vbe_portio_list[] = {
>> -# ifdef TARGET_I386
>> { 0, 1, 2, .read = vbe_ioport_read_index, .write =
>> vbe_ioport_write_index },
>> +# ifdef TARGET_I386
>
> Strange how the card knows what target it's plugged into. Fixing this
> is going to involve major pain - need to update the bios and need to
> provide backwards compatibility. All this assuming guests don't
> hardcode the address.
>
> Anyway I find the deduplication makes the code harder to read.
That line is rather tricky to deduplicate in mind. So it's not nice for
our readers keeping it duplicated around.
>
>> { 1, 1, 2, .read = vbe_ioport_read_data, .write =
>> vbe_ioport_write_data },
>> # else
>> - { 0, 2, 2, .read = vbe_ioport_read_index, .write =
>> vbe_ioport_write_index },
>> - { 2, 2, 2, .read = vbe_ioport_read_data, .write =
>> vbe_ioport_write_data },
>> + { 2, 1, 2, .read = vbe_ioport_read_data, .write =
>> vbe_ioport_write_data },
>
> Is this correct? length 1 region with size 2?
Yes, it prevents accesses on base+1.