On Wed, May 11, 2016 at 11:51:53AM +0200, Martin Pohlack wrote:
> On 27.04.2016 05:39, Konrad Rzeszutek Wilk wrote:
> [...]
> > +/* "Mask" NMIs. */
> > +arch_xsplice_mask();
>
> You mask here ...
>
> > +barrier(); /* MUST do it after get_cpu_maps. */
> > +cpus =
On 27.04.2016 05:39, Konrad Rzeszutek Wilk wrote:
[...]
> +/* "Mask" NMIs. */
> +arch_xsplice_mask();
You mask here ...
> +barrier(); /* MUST do it after get_cpu_maps. */
> +cpus = num_online_cpus() - 1;
> +
> +if ( cpus )
> +{
> +
>>> On 27.04.16 at 05:39, wrote:
> +static int check_special_sections(const struct xsplice_elf *elf)
> +{
> +unsigned int i;
> +static const char *const names[] = { ELF_XSPLICE_FUNC };
> +DECLARE_BITMAP(count, ARRAY_SIZE(names)) = { 0 };
Perhaps better "seen"
. snip..
>
> Thinking about it again, even more stack conserving would be a
> bitmap...
Heheh
>
> > +static int apply_payload(struct payload *data)
> > +{
> > +unsigned int i;
> > +
> > +printk(XENLOG_INFO XSPLICE "%s: Applying %u functions\n",
> > +data->name,
>>> On 25.04.16 at 17:34, wrote:
> +static int check_special_sections(const struct xsplice_elf *elf)
> +{
> +unsigned int i;
> +static const char *const names[] = { ELF_XSPLICE_FUNC };
> +bool_t count[ARRAY_SIZE(names)] = { 0 };
> +
> +for ( i = 0; i <
From: Ross Lagerwall
Implement support for the apply, revert and replace actions.
To perform and action on a payload, the hypercall sets up a data
structure to schedule the work. A hook is added in the reset_stack_and_jump
to check for work and execute it if needed