[PATCH v1 2/8] x86/xen: simplify xen_oldmem_pfn_is_ram()
David Hildenbrand
david at redhat.com
Wed Sep 29 02:03:09 PDT 2021
On 29.09.21 10:45, David Hildenbrand wrote:
>>
>> How about
>>
>> return a.mem_type != HVMMEM_mmio_dm;
>>
>
> Ha, how could I have missed that :)
>
>>
>> Result should be promoted to int and this has added benefit of not requiring changes in patch 4.
>>
>
> Can we go one step further and do
>
>
> @@ -20,24 +20,11 @@ static int xen_oldmem_pfn_is_ram(unsigned long pfn)
> struct xen_hvm_get_mem_type a = {
> .domid = DOMID_SELF,
> .pfn = pfn,
> + .mem_type = HVMMEM_ram_rw,
> };
> - int ram;
>
> - if (HYPERVISOR_hvm_op(HVMOP_get_mem_type, &a))
> - return -ENXIO;
> -
> - switch (a.mem_type) {
> - case HVMMEM_mmio_dm:
> - ram = 0;
> - break;
> - case HVMMEM_ram_rw:
> - case HVMMEM_ram_ro:
> - default:
> - ram = 1;
> - break;
> - }
> -
> - return ram;
> + HYPERVISOR_hvm_op(HVMOP_get_mem_type, &a);
> + return a.mem_type != HVMMEM_mmio_dm;
> }
> #endif
>
>
> Assuming that if HYPERVISOR_hvm_op() fails that
> .mem_type is not set to HVMMEM_mmio_dm.
>
Okay we can't, due to "__must_check" ...
--
Thanks,
David / dhildenb
More information about the kexec
mailing list