|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC PATCH v3.1 1/2] xsplice: rfc.v3.1
>>> On 31.07.15 at 17:46, <konrad.wilk@xxxxxxxxxx> wrote:
> On Thu, Jul 30, 2015 at 09:47:40AM -0700, Johannes Erdfelt wrote:
>> On Mon, Jul 27, 2015, Konrad Rzeszutek Wilk <konrad@xxxxxxxxxx> wrote:
>> > +struct xsplice_reloc_howto {
>> > + uint32_t howto; /* XSPLICE_HOWTO_* */
>> > + uint32_t flag; /* XSPLICE_HOWTO_FLAG_* */
>> > + uint32_t size; /* Size, in bytes, of the item to be relocated. */
>> > + uint32_t r_shift; /* The value the final relocation is shifted
>> > right by; used to drop unwanted data from the relocation. */
>> > + uint64_t mask; /* Bitmask for which parts of the instruction or
>> > data are replaced with the relocated value. */
>> > + uint8_t pad[8]; /* Must be zero. */
>> > +};
>>
>> I'm curious how r_shift and mask are used. I'm familiar with x86 and
>> x86_64 and I'm not sure how these fit in. Is this to support other
>> architectures?
>
> It is to patch up data. We can specify the exact mask for an unsigned
> int - so we only patch specific bits. Ditto if we want to remove certain
> values.
Still I don't see a practical use: What relocated item would (on x86)
be stored starting at other than bit 0 of a byte/word? Also, wouldn't
a shift count be redundant with the mask value anyway?
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |