Section mismatch in parainstructions

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

 



Randy Dunlap wrote:
> Good question.  I don't see much doc on that subject.
> Rusty could probably answer that better than me.
>   

Yep, it is definitely his problem, since he wrote both halves of the
equation...

> Something like this:
>
> .exit.text section(s) can be discarded from built-in (non-modular)
> code (or not even loaded at all).
>
> .exit.text section(s) in modules is only loaded when
> CONFIG_MODULE_UNLOAD=y.
>
>
> so what are the .parainstructions text sections for?
> Are they for replacing code instructions based on some
> condition(s)?  (like <gag> self-modifying code? </gag>)

You can compile in support for multiple paravirtualizing hypervisors
(ie, Xen, VMI and/or lhype), and it will work out which backend is
appropriate to use at runtime.  Once it has done that, the backends have
the option to patch inline code to implement simple operations (sti, for
example).

So the .parainstructions section marks where there are instructions
which the backend may want to replace, and the substitution happens
relatively early in the kernel boot process (and on module load, I
assume, but I haven't checked).

    J


[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