* Gustavo Lima Chaves <[email protected]> [2017-09-06 21:42:37 
+0000]:

> * Jan Kiszka <[email protected]> [2017-09-01 18:32:54 +0000]:
> 
> > On 2017-09-01 20:08, Gustavo Lima Chaves wrote:
> > > Hi.
> > > 
> > > I'm already experimenting with this issue, in the way of trying to get
> > > Zephyr + xAPIC good to go, besides x2APIC, but here goes the doubt in
> > > order to confirm it.
> > > 
> > > The function in the subject, which offloads work to apic_mmio_access()
> > > and then to x86_mmio_parse(), has this last one parse the instruction
> > > doing APIC mem. region access in order to intercept the access and
> > > either put or take a value to/from that memory into a register.
> > > 
> > > Some MOV variants are covered there, but we are *very far* from having
> > > any reasonable coverage in that list. For instance, all the parsing
> > > code assumes the from/to places (other than the APIC mem. region) are
> > > always registers—at least that's what I understand now. What about
> > > memory regions and immediate values?
> > > 
> > > Zephyr generates code using different MOVs to access the APIC mem.
> > > region and I'm filling up that list + parsing code with more info
> > > trying to capture that.
> > > 
> > > Am I wrong in any point?
> > 
> > Jailhouse implements support for emulating only very few instructions,
> > because this can easily explode the code size. Basically, we just
> > support what Linux needs and define that all other guests should
> > restrict themselves to those instructions. That's also why there are
> > MMIO accessors in the libinmate.
> > 
> > Now one may argue about adding one or two more simple mov instructions
> > to the emulator if it really helps, we did that before, but I do not
> > want to expand beyond that.
> 
> Ok, that's the case anyway, some number around that.
> 
> > 
> > The proper answer to that issue would be hardware support for
> > instruction parsing, just like other archs have. It's really lame that
> > MMIO interception requires so much effort in software.
> 
> I agree, such pain to parse that as well. Now for something different:
> why allowing only fixed and NMI delivery modes for APIC on guests? Is
> ExtINT detrimental in any way? That's what Zephyr uses...

And that might explain why I reach my Zephyr application's main
function but the programmed timers won't fire (under xAPIC).

> 
> > 
> > Jan
> > 
> > -- 
> > Siemens AG, Corporate Technology, CT RDA ITP SES-DE
> > Corporate Competence Center Embedded Linux
> 
> -- 
> Gustavo Lima Chaves
> Intel - Open Source Technology Center

-- 
Gustavo Lima Chaves
Intel - Open Source Technology Center

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to