[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 1/7] xen/arm: Introduce alternative runtime patching
> >>+ > >>+ origptr = ALT_ORIG_PTR(alt); > >>+ writeptr = origptr - (u32 *)_start + writemap; > > > >How about just using writeptr += ? > > I am not sure about your suggestion here. Regardless the Linux code, the > origptr will not follow a pattern at each iteration. So we have to recompute > it everytime. Just ignore that. I somehow equated writeptr to writemp. ..snip.. > > > > >Ah wait. You are trying to preserve the Linux code!. Nevermind then. > > > >>+ replptr = ALT_REPL_PTR(alt); > >>+ > >>+ nr_inst = alt->alt_len / sizeof(insn); > >>+ > >>+ for ( i = 0; i < nr_inst; i++ ) > >>+ { > >>+ insn = get_alt_insn(alt, origptr + i, replptr + i); > >>+ *(writeptr + i) = cpu_to_le32(insn); > >>+ } > >>+ > >>+ /* Ensure the new instructions reached the memory and nuke */ > >>+ clean_and_invalidate_dcache_va_range(writeptr, > >>+ (sizeof (*writeptr) * > >>nr_inst)); > >>+ } > >>+ > >>+ /* Nuke the instruction cache */ > >>+ invalidate_icache(); > >>+ > >>+ vunmap(writemap); > >>+ > >>+ return 0; > >>+} > >>+ > >>+/* > >>+ * We might be patching the stop_machine state machine, so implement a > >>+ * really simple polling protocol here. > >>+ */ > >>+static int __apply_alternatives_multi_stop(void *unused) > >>+{ > >>+ static int patched = 0; > > > >Shouldn't this be 'atomic_t' ? > > Does it matter? From my understanding the code will behave the same. Not at all under the hood. But I see 'atomic_write' and they all operate on the 'atomic_t' .. hence the query. ..snip. > >This being a new file perhaps add: > >* > > * Local variables: > > * mode: C > > * c-file-style: "BSD" > > * c-basic-offset: 4 > > * indent-tabs-mode: nil > > * End: > > */ > >? > > It is a Linux file with Linux coding style. I would need to look what should > be the emacs magic block here. Right. I just meant that you needed the magic block. > > Regards, > > -- > Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |