rough sketch of revised patching infrastructure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2007-02-22 at 10:13 -0800, Jeremy Fitzhardinge wrote:
> unsigned paravirt_patch_default(u8 type, u16 clobbers, void *site,
> unsigned len)
> +{
> +       void *opfunc = *((void **)&paravirt_ops + type);
> +       unsigned ret;
> +
> +       if (opfunc == (void *)native_nop || opfunc == NULL)
> +               ret = paravirt_patch_nop(type, clobbers, site, len);
> +       else if (type == PARAVIRT_PATCH(iret) ||
> +                type == PARAVIRT_PATCH(irq_enable_sysexit))
> +               ret = paravirt_patch_jmp(type, clobbers, site, len);
> +       else
> +               ret = paravirt_patch_jmp(type, clobbers, site, len);

Should be a paravirt_patch_call?

Ian.





[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux