Hi,
This is version 5 of a series of patches that I originally posted in:
http://lists.gnu.org/archive/html/qemu-devel/2011-03/msg01989.html
http://lists.gnu.org/archive/html/qemu-devel/2011-03/msg01992.html
http://lists.gnu.org/archive/html/qemu-devel/2011-03/msg01991.html
http:/
update_irq() uses a similar method as in 'rtc_td_hack' to detect
coalesced interrupts. The function entry addresses are retrieved
from 'target_get_irq_delivered' and 'target_reset_irq_delivered'.
This change can be replaced if a generic feedback infrastructure to
track coalesced IRQs for periodic,
Loss of periodic timer interrupts caused by delayed callbacks and by
interrupt coalescing is compensated by gradually injecting additional
interrupts during subsequent timer intervals, starting at a rate of
one additional interrupt per interval. The injection of additional
interrupts is based on a
'target_get_irq_delivered' and 'target_reset_irq_delivered' point
to functions that are called by update_irq() to detect coalesced
interrupts. Initially they point to stub functions which pretend
successful interrupt injection. apic code calls two registration
functions to replace the stubs with ap
driftfix is a 'bit type' property. Compensation of delayed callbacks
and coalesced interrupts can be enabled with the command line option
-global hpet.driftfix=on
driftfix is 'off' (disabled) by default.
Signed-off-by: Ulrich Obergfell
---
hw/hpet.c |3 +++
1 files changed, 3 insertion
The new fields in HPETTimer are covered by a separate VMStateDescription
which is a subsection of 'vmstate_hpet_timer'. They are only migrated if
-global hpet.driftfix=on
Signed-off-by: Ulrich Obergfell
---
hw/hpet.c | 42 ++
1 files changed, 42 ins
> > +static void gen_wsr_litbase(DisasContext *dc, uint32_t sr, TCGv_i32 s)
> > +{
> > +tcg_gen_mov_i32(cpu_SR[sr], s);
> > +/* This can change tb->flags, so exit tb */
> > +gen_jumpi_check_loop_end(dc, -1);
> > +}
>
> Surely you have to flush all TB's when changing litbase?
>
> > +
On Thu, May 19, 2011 at 08:55:49PM +0200, Jan Kiszka wrote:
> Because we should catch accidental overlaps in all those non PCI devices
> with hard-wired addressing. That's a bug in the device/machine model and
> should be reported as such by QEMU.
> >>> Why should we complicate API t
> > +if (env->sregs[LEND] != v) {
> > +tb_invalidate_phys_page_range(
> > +env->sregs[LEND] - 1, env->sregs[LEND], 0);
> > +env->sregs[LEND] = v;
> > +tb_invalidate_phys_page_range(
> > +env->sregs[LEND] - 1, env->sregs[LEND], 0);
> > +
> > +enum {
> > +THREADPTR = 231,
> > +FCR = 232,
> > +FSR = 233,
> > +};
> > +
> > typedef struct XtensaConfig {
> > const char *name;
> > uint64_t options;
> > @@ -109,6 +115,7 @@ typedef struct CPUXtensaState {
> > uint32_t regs[16];
> > uint32_t pc;
> > uin
On 2011-05-20 09:23, Gleb Natapov wrote:
> On Thu, May 19, 2011 at 08:55:49PM +0200, Jan Kiszka wrote:
>> Because we should catch accidental overlaps in all those non PCI devices
>> with hard-wired addressing. That's a bug in the device/machine model and
>> should be reported as such by
On 20.05.2011, at 05:34, David Gibson wrote:
> On Thu, May 19, 2011 at 10:25:04AM +0200, Andreas Färber wrote:
>> QEMU HEAD still uses a 32-bit binary for both 32-bit and
>> 64-bit. That one uses mtsrin so will need the compatibility, it
>> seemed affected, too.
>>
>> OpenBIOS SVN HEAD (blob) us
On 20.05.2011, at 05:34, David Gibson wrote:
> Early ppc64 CPUs include a hack to partially simulate the ppc32 segment
> registers, by translating writes to them into writes to the SLB. This is
> not used by any current Linux kernel, but it is used by the openbios used
> in the qemu mac99 model.
On Thu, May 19, 2011 at 10:38:03PM +0530, Supriya Kannery wrote:
> Monitor commands "hostcache_set" and "hostcache_get" added for dynamic
> host cache change and display of host cache setting respectively.
A generic command for changing block device options would be nice,
althought I don't see oth
Hi all,
here is the second version of the spec. In the end I took the advice of
merging all requestq's into one. The reason for this is that I took a
look at the vSCSI device and liked its approach of using SAM 8-byte LUNs
directly. While it _is_ complex (and not yet done right by QEMU---wi
On 05/19/2011 07:36 PM, Anthony Liguori wrote:
There are no global priorities. Priorities are only used inside each
level of the memory region hierarchy to generate a resulting, flattened
view for the next higher level. At that level, everything imported from
below has the default prio again, ie.
On 05/19/2011 07:49 PM, Jan Kiszka wrote:
>
> If you have overlapping BARs, the PCI bus will always send the request
> to a single device based on something that's implementation specific.
> This works because each PCI device advertises the BAR locations and
> sizes in it's config space.
Tha
On 05/19/2011 07:32 PM, Anthony Liguori wrote:
Think of how a window manager folds windows with priorities onto a flat
framebuffer.
You do a depth-first walk of the tree. For each child list, you iterate
it from the lowest to highest priority, allowing later subregions
override earlier subregion
On 05/19/2011 07:38 PM, Anthony Liguori wrote:
You can always create a new memory region with higher priority, pointing
to the RAM window you want to have above VGA. That's what we do today as
well, just with different effects on the internal representation.
But then we're no better than we ar
On 05/19/2011 09:22 PM, Gleb Natapov wrote:
>
> BARs may overlap with other BARs or with RAM. That's well-known, so PCI
> bridged need to register their regions with the _overlap variant
> unconditionally. In contrast to the current PhysPageDesc mechanism, the
With what priority?
It doesn't
>> > + if (env->sregs[LEND] != v) {
>> > + tb_invalidate_phys_page_range(
>> > + env->sregs[LEND] - 1, env->sregs[LEND], 0);
>> > + env->sregs[LEND] = v;
>> > + tb_invalidate_phys_page_range(
>> > + env->sregs[LEND] - 1, env->sregs[LEND], 0);
>>
The SDIO specification introduces new commands 52 and 53.
Handle as illegal command but do not complain on stderr,
as SDIO-aware OSes (including Linux) may legitimately use
these in their probing for presence of an SDIO card.
Signed-off-by: Peter Maydell
---
hw/sd.c | 11 +++
1 files c
On 05/19/2011 09:18 PM, Anthony Liguori wrote:
On 05/19/2011 09:11 AM, Avi Kivity wrote:
On 05/19/2011 05:04 PM, Anthony Liguori wrote:
Right, the chipset register is mainly used to program the contents of
SMM.
There is a single access pin that has effectively the same semantics
as setting th
On 05/19/2011 10:07 PM, Alex Williamson wrote:
On Thu, 2011-05-19 at 10:12 -0400, Avi Kivity wrote:
> The memory API separates the attributes of a memory region (its size, how
> reads or writes are handled, dirty logging, and coalescing) from where it
> is mapped and whether it is enabled. Th
On 05/19/2011 10:27 PM, Jan Kiszka wrote:
On 2011-05-19 16:12, Avi Kivity wrote:
> +/* Sets an offset to be added to MemoryRegionOps callbacks. */
> +void memory_region_set_offset(MemoryRegion *mr, target_phys_addr_t offset);
Please mark this as a legacy helper, ideally to be removed after the
On 05/19/2011 11:43 PM, Anthony Liguori wrote:
On 05/19/2011 09:12 AM, Avi Kivity wrote:
The memory API separates the attributes of a memory region (its size,
how
reads or writes are handled, dirty logging, and coalescing) from
where it
is mapped and whether it is enabled. This allows a devic
On 05/20/2011 12:04 AM, Stefan Weil wrote:
Am 19.05.2011 16:12, schrieb Avi Kivity:
The memory API separates the attributes of a memory region (its size,
how
reads or writes are handled, dirty logging, and coalescing) from
where it
is mapped and whether it is enabled. This allows a device to c
Hi,
is it possible to share a directory between a windows guest running on a
linux host? Similar to samba but independent on the network?
I have searched for combinations of "v9fs" or "virtio-9p" and "windows"
but didn't find anything relevant.
Thanks,
Torsten Förtsch
On 05/20/2011 12:11 AM, Stefan Hajnoczi wrote:
On Thu, May 19, 2011 at 3:12 PM, Avi Kivity wrote:
> +struct MemoryRegion {
> +/* All fields are private - violators will be prosecuted */
> +const MemoryRegionOps *ops;
> +MemoryRegion *parent;
In the case where a region is aliased
On 05/19/2011 07:27 PM, Gleb Natapov wrote:
> Think of how a window manager folds windows with priorities onto a
> flat framebuffer.
>
> You do a depth-first walk of the tree. For each child list, you
> iterate it from the lowest to highest priority, allowing later
> subregions override ear
On 15 May 2011 15:13, Aurelien Jarno wrote:
> target-ppc has been switched to softfloat only long ago, but a
> few #ifdef CONFIG_SOFTFLOAT have been forgotten. Remove them.
>
> Cc: Alexander Graf
> Signed-off-by: Aurelien Jarno
Reviewed-by: Peter Maydell
Per visionare il sito clicca qui
Fai parte anche tu di
Italia che lavora.
Sito di protesta:
Fiscale, giudiziaria e bancaria
Inoltra questo msg ai tuoi amici
Per visionare il sito clicca qui
On 15 May 2011 15:13, Aurelien Jarno wrote:
> Remove softfloat-native support, all targets are now using softfloat
> instead.
>
> Signed-off-by: Aurelien Jarno
Reviewed-by: Peter Maydell
On 15 May 2011 15:13, Aurelien Jarno wrote:
> Now that softfloat-native is gone, there is no real point on not always
> enabling floatx80 and float128 support.
>
> Signed-off-by: Aurelien Jarno
Reviewed-by: Peter Maydell
On 15 May 2011 15:13, Aurelien Jarno wrote:
> Now that target-i386 uses softfloat, floatx80 is always available and
> there is no need anymore to have code handling both float64 and floax80.
>
> Signed-off-by: Aurelien Jarno
This patch is OK in terms of how it leaves the code, but I think some
p
On 15 May 2011 15:13, Aurelien Jarno wrote:
> Instead of using a table which doesn't correspond to anything from
> physical in the CPU, use directly the constants in helper_fld*_ST0().
Actually I rather suspect there is effectively a table in the CPU
indexed by the last 3 bits of the FLD* opcode.
On 15 May 2011 15:13, Aurelien Jarno wrote:
> float*_is_zero_or_denormal() is available for float32, but not for
> float64, floatx80 and float128. Fix that.
>
> Signed-off-by: Aurelien Jarno
Reviewed-by: Peter Maydell
QEMU is event-driven and suffers when blocking operations are performed because
VM execution may be stopped until the operation completes. Therefore many
operations that could block are performed asynchronously and a callback is
invoked when the operation has completed. This allows QEMU to contin
To run automated tests for coroutines:
make check-coroutine
./check-coroutine
On success the program terminates with exit status 0. On failure an
error message is written to stderr and the program exits with exit
status 1.
Signed-off-by: Stefan Hajnoczi
---
Makefile |3 +-
ch
From: Kevin Wolf
Asynchronous code is becoming very complex. At the same time
synchronous code is growing because it is convenient to write.
Sometimes duplicate code paths are even added, one synchronous and the
other asynchronous. This patch introduces coroutines which allow code
that looks sy
Add a microbenchmark for coroutine create, enter, and return (aka
lifecycle). This is a useful benchmark because users are expected to
create many coroutines, one per I/O request for example, and we
therefore need to provide good performance in that scenario.
To run:
make check-coroutine
./c
Superseded by -machine. Therefore, this patch removes -M from the help
list and pushes -machine at the same place in the output.
Signed-off-by: Jan Kiszka
---
qemu-options.hx | 45 -
1 files changed, 20 insertions(+), 25 deletions(-)
diff --git a/qe
-machine somehow suggests that it selects the machine, but it doesn't.
Fix that before this command is set in stone.
Actually, -machine should supersede -M and allow to introduce arbitrary
per-machine options to the command line. That will change the internal
realization again, but we will be able
On 16 May 2011 17:58, Markus Armbruster wrote:
> $ qemu-system-x86_64 -nodefaults -enable-kvm -m 384 -vnc :0 -S -netdev
> user,id=net0 -device e1000,netdev=net0
> Warning: more nics requested than this machine supports; some have been
> ignored
> (qemu) info network
> Devices not on
On Fri, May 20, 2011 at 09:40:13AM +0200, Jan Kiszka wrote:
> On 2011-05-20 09:23, Gleb Natapov wrote:
> > On Thu, May 19, 2011 at 08:55:49PM +0200, Jan Kiszka wrote:
> >> Because we should catch accidental overlaps in all those non PCI
> >> devices
> >> with hard-wired addressing. Tha
On 2011-05-20 13:19, Peter Maydell wrote:
> On 16 May 2011 17:58, Markus Armbruster wrote:
>>$ qemu-system-x86_64 -nodefaults -enable-kvm -m 384 -vnc :0 -S -netdev
>> user,id=net0 -device e1000,netdev=net0
>>Warning: more nics requested than this machine supports; some have been
>> ignor
On Fri, May 20, 2011 at 11:59:58AM +0300, Avi Kivity wrote:
> On 05/19/2011 07:27 PM, Gleb Natapov wrote:
> >> Think of how a window manager folds windows with priorities onto a
> >> flat framebuffer.
> >>
> >> You do a depth-first walk of the tree. For each child list, you
> >> iterate it fro
On Fri, May 20, 2011 at 12:10:22PM +0300, Avi Kivity wrote:
> On 05/19/2011 09:22 PM, Gleb Natapov wrote:
> >>
> >> BARs may overlap with other BARs or with RAM. That's well-known, so PCI
> >> bridged need to register their regions with the _overlap variant
> >> unconditionally. In contrast to t
On 05/20/2011 12:59 PM, Stefan Hajnoczi wrote:
This coroutines implementation is based on the gtk-vnc implementation
written by Anthony Liguori but it has been
significantly rewritten by Kevin Wolf to use
setjmp()/longjmp() instead of the more expensive swapcontext() and by
Paolo Bonzini for W
I'm interested in what the API for snapshots would look like.
Specifically how does user software do the following:
1. Create a snapshot
2. Delete a snapshot
3. List snapshots
4. Access data from a snapshot
5. Restore a VM from a snapshot
6. Get the dirty blocks list (for incremental backup)
We've
On Fri, May 20, 2011 at 1:09 PM, Paolo Bonzini wrote:
> On 05/20/2011 12:59 PM, Stefan Hajnoczi wrote:
>>
>> This coroutines implementation is based on the gtk-vnc implementation
>> written by Anthony Liguori but it has been
>> significantly rewritten by Kevin Wolf to use
>> setjmp()/longjmp() i
This series implements some basic machine-independent optimizations. They
simplify code and allow liveness analysis do it's work better.
Suppose we have following ARM code:
movwr12, #0xb6db
movtr12, #0xdb6d
In TCG before optimizations we'll have:
movi_i32 tmp8,$0xb6db
mov_i32 r12,t
Added file tcg/optimize.c to hold TCG optimizations. Function tcg_optimize
is called from tcg_gen_code_common. It calls other functions performing
specific optimizations. Stub for constant folding was added.
Signed-off-by: Kirill Batuzov
---
Makefile.target |2 +-
tcg/optimize.c | 87
Perform constant folding for NOT and EXT{8,16,32}{S,U} operations.
Signed-off-by: Kirill Batuzov
---
tcg/optimize.c | 82
1 files changed, 82 insertions(+), 0 deletions(-)
diff --git a/tcg/optimize.c b/tcg/optimize.c
index b6b0dc4..bda4
Perform constant forlding for SHR, SHL, SAR, ROTR, ROTL operations.
Signed-off-by: Kirill Batuzov
---
tcg/optimize.c | 87
1 files changed, 87 insertions(+), 0 deletions(-)
diff --git a/tcg/optimize.c b/tcg/optimize.c
index a02d5c1..b6b
Perform constant folding for AND, OR, XOR operations.
Signed-off-by: Kirill Batuzov
---
tcg/optimize.c | 58
1 files changed, 58 insertions(+), 0 deletions(-)
diff --git a/tcg/optimize.c b/tcg/optimize.c
index 4073f05..a02d5c1 100644
--
Make tcg_constant_folding do copy and constant propagation. It is a
preparational work before actual constant folding.
Signed-off-by: Kirill Batuzov
---
tcg/optimize.c | 123
1 files changed, 123 insertions(+), 0 deletions(-)
diff --git
Perform actual constant folding for ADD, SUB and MUL operations.
Signed-off-by: Kirill Batuzov
---
tcg/optimize.c | 102
1 files changed, 102 insertions(+), 0 deletions(-)
diff --git a/tcg/optimize.c b/tcg/optimize.c
index a761c51..4073f
On 05/20/11 14:19, Stefan Hajnoczi wrote:
> I'm interested in what the API for snapshots would look like.
I presume you're talking external snapshots here? The API is really what
should be defined by libvirt, so you get a unified API that can work
both on QEMU level snapshots as well as enterprise
On Fri, May 20, 2011 at 1:39 PM, Jes Sorensen wrote:
> On 05/20/11 14:19, Stefan Hajnoczi wrote:
>> I'm interested in what the API for snapshots would look like.
>
> I presume you're talking external snapshots here? The API is really what
> should be defined by libvirt, so you get a unified API th
On 05/20/11 14:49, Stefan Hajnoczi wrote:
> On Fri, May 20, 2011 at 1:39 PM, Jes Sorensen wrote:
>> On 05/20/11 14:19, Stefan Hajnoczi wrote:
>>> I'm interested in what the API for snapshots would look like.
>>
>> I presume you're talking external snapshots here? The API is really what
>> should b
LinkedIn
Sosthene Grosset-Janin requested to add you as a connection on
LinkedIn:
--
Jiajun,
I'd like to add you to my professional network on LinkedIn.
- Sosthene
Accept invitation from Sosthene Grosset-Janin
http://www.linkedin.com/e/-kkb1e
Hello all,
I use Qemu to run ubuntu image(for kernel debugging affairs). I use
following command:
sudo qemu -hda ubuntu-qemu-test -append "root=/dev/sda1" -kernel
/mnt/build/linux-2.6/arch/x86/boot/bzImage -boot c -net nic -net user
Mouse doesn't work on guest ubuntu.
I googled my problem, and I
On 05/20/2011 02:23 AM, Avi Kivity wrote:
> On 05/19/2011 11:43 PM, Anthony Liguori wrote:
>> On 05/19/2011 09:12 AM, Avi Kivity wrote:
>>> The memory API separates the attributes of a memory region (its size, how
>>> reads or writes are handled, dirty logging, and coalescing) from where it
>>> is
Hello qemu-devel
Would you like to earn an extra $200 everyday?, for just 45 minutes work? You
could quit your job and make double the money at home working for yourself.
visit->http:tinyurl.com/42e38u9
Regards,
Carmille Burns
Survey Human Resources Dept.
On 05/20/2011 02:10 AM, Max Filippov wrote:
>>> If you're going to pretend that LEND is a constant, you might as well
>>> pretend that LBEG is also a constant, so that you get to chain the TB's
>>> around the loop.
>>
>> But there may be three exits from TB at the LEND if its last
>> command is a b
On 05/20/2011 12:34 AM, Max Filippov wrote:
> User registers represent TIE states that may appear in custom xtensa
> configurations. I'd better change RUR and WUR so that they can access
> all user registers but warn on those not defined globally or in the
> CPUEnv::config. Is it OK?
Well, it's ok
Since I've got no comments/replies whatsoever, -- neither
positive nor negative, I assume no one received this email
(sent on Thu, 12 May 2011), so am resending it again.
This patch almost rewrites acpi_table_add() function
(but still leaves it using old get_param_value() interface).
The result is
On 05/20/2011 09:06 AM, Richard Henderson wrote:
On 05/20/2011 02:23 AM, Avi Kivity wrote:
On 05/19/2011 11:43 PM, Anthony Liguori wrote:
On 05/19/2011 09:12 AM, Avi Kivity wrote:
The memory API separates the attributes of a memory region (its size, how
reads or writes are handled, dirty loggi
On 05/20/2011 07:31 AM, Anthony Liguori wrote:
> But is this a characteristic of devices or is this a characteristic of the
> chipset/CPU?
Chipset.
r~
On Thu, May 19, 2011 at 4:21 PM, Peter Maydell wrote:
> Remove a duplicate #include of sysbus.h.
>
> Signed-off-by: Peter Maydell
> ---
> hw/realview.c | 1 -
> 1 files changed, 0 insertions(+), 1 deletions(-)
Thanks, added to the trivial-patches tree:
http://repo.or.cz/w/qemu/stefanha.git/s
On 05/20/2011 09:40 AM, Richard Henderson wrote:
On 05/20/2011 07:31 AM, Anthony Liguori wrote:
But is this a characteristic of devices or is this a characteristic of the
chipset/CPU?
Chipset.
So if the chipset only allows accesses that are 64-bit, then you'll want
to have hierarchical dis
On Fri, May 20, 2011 at 10:11 AM, Peter Maydell
wrote:
> The SDIO specification introduces new commands 52 and 53.
> Handle as illegal command but do not complain on stderr,
> as SDIO-aware OSes (including Linux) may legitimately use
> these in their probing for presence of an SDIO card.
>
> Signe
On 05/20/2011 03:56 AM, Avi Kivity wrote:
On 05/19/2011 07:36 PM, Anthony Liguori wrote:
There are no global priorities. Priorities are only used inside each
level of the memory region hierarchy to generate a resulting, flattened
view for the next higher level. At that level, everything imported
This is the second part of my SCSI work. The first is still pending
and this one is incomplete, but I still would like to get opinions
early enough because this design directly affects the UI.
This series is half of the work that is necessary to support multiple
LUNs behind a target. The idea is
This allows passthrough of devices with LUN != 0, by redirecting them to
LUN0 in the emulated target.
Signed-off-by: Paolo Bonzini
---
hw/scsi-generic.c | 38 +-
1 files changed, 33 insertions(+), 5 deletions(-)
diff --git a/hw/scsi-generic.c b/hw/scsi-gene
SAM logical unit numbers are complicated beasts that can address
multiple levels of buses and targets before finally reaching
logical units. Begin supporting them by correctly parsing vSCSI
LUNs.
Note that with the current (admittedly incorrect) code OpenFirmware
thought the devices were at "bus
This provides the infrastructure for simple devices to pick LUNs.
Of course, this will not do anything until there is a device that
can report the existence of those LUNs.
Signed-off-by: Paolo Bonzini
---
hw/esp.c|4 +++-
hw/lsi53c895a.c |2 +-
hw/scsi-bus.c | 14
The LUN field in the CDB is a historical relic. Ignore it as reserved,
which is what modern SCSI specifications actually say.
Signed-off-by: Paolo Bonzini
---
hw/scsi-disk.c|6 +++---
hw/scsi-generic.c |5 ++---
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/hw/scsi-
This will not work until there is a device that can answer REPORT LUNS
for disks with LUN != 0. However, it provides the infrastructure.
Signed-off-by: Paolo Bonzini
---
hw/scsi-disk.c | 17 +
1 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/hw/scsi-disk.c b/hw/s
Signed-off-by: Paolo Bonzini
---
hw/scsi-bus.c| 79 +++---
hw/scsi.h|9 +-
hw/spapr_vscsi.c |6 +++-
3 files changed, 75 insertions(+), 19 deletions(-)
diff --git a/hw/scsi-bus.c b/hw/scsi-bus.c
index 4d46831..2037da3 1006
On 05/20/2011 12:14 AM, Max Filippov wrote:
> As far as I can see LITBASE usage pattern is that it is set up once
> in early initialization and is never changed after.
That's probably true on a per-program basis. I.e. for semi-hosting or userland
emulation, hard-coding litbase into the TB could m
On 05/20/2011 04:01 AM, Avi Kivity wrote:
On 05/19/2011 07:32 PM, Anthony Liguori wrote:
Think of how a window manager folds windows with priorities onto a flat
framebuffer.
You do a depth-first walk of the tree. For each child list, you iterate
it from the lowest to highest priority, allowing
While trying out the > 64GB guest RAM patch, I hit some virtual address
limitations of my host system, which resulted in mmap failing. Unfortunately,
qemu didn't tell me about this failure, but just used the NULL pointer
happily, resulting in either segmentation faults or other fun errors.
To spar
The following series of patches adds a TPM (Trusted Platform Module)
TIS (TPM Interface Spec) interface to Qemu and with that provides
means to access a backend implementing the actual TPM functionality.
This frontend enables for example Linux's TPM TIS (tpm_tis) driver.
I am also posting the impl
This patch uses the possibility to add a vendor-specific register and
adds a debug register useful for dumping the TIS's internal state. This
register is only active in a debug build (#define DEBUG_TIS).
v3:
- all output goes to stderr
Signed-off-by: Stefan Berger
---
hw/tpm_tis.c | 67
This patch adds support for TPM command line options.
The command line supported here (considering the libtpms based
backend) are
./qemu-... -tpm builtin,path=
and
./qemu-... -tpmdev builtin,path=,id=
-device tpm-tis,tpmdev=
and
./qemu-... -tpmdev ?
where the latter works similar t
This patch adds the main code of the TPM frontend driver, the TPM TIS
interface, to Qemu. The code is largely based on my previous implementation
for Xen but has been significantly extended to meet the standard's
requirements, such as the support for changing of localities and all the
functionality
The TPM interface (tpm_tis) needs to be explicitly enabled via
./configure --enable-tpm. This patch also restricts the building of the
TPM support to i386 and x86_64 targets since only there it is currently
supported. With that I am trying to prevent that one will end up with
support for a frontend
This patch adds support for handling of persistent state to the TPM TIS
frontend.
The currently used buffer is determined (can only be in currently active
locality and either be a read or a write buffer) and only that buffer's content
is stored. The reverse is done when the state is restored from
This patch introduces file locking via fcntl() for the block layer so that
concurrent access to files shared by 2 Qemu instances, for example via NFS,
can be serialized. This feature is useful primarily during initial phases of
VM migration where the target machine's TIS driver validates the block
This really is just for experimental purposes since there are problems
when doing something similar with a multiboot kernel.
This patch addresses the case where the user provides the kernel, initrd
and kernel command line via command line parameters to Qemu. To avoid
incorrect measurements by SeaB
This patch provides a TPM backend skeleton implementation. It doesn't do
anything useful (except for returning error response for every TPM command)
but it compiles.
v5:
- the backend interface now has a create and destroy function.
The former is used during the initialization phase of the T
This patch adds encryption of the individual state blobs that are written
into the block storage. The 'directory' at the beginnig of the block
storage is not encrypted.
Keys can be passed either as a string of hexadecimal digits forming a 256,
192 or 128 bit AES key. Those keys can optionally star
This patch provides the glue for the TPM TIS interface (frontend) to
the libtpms that provides the actual TPM functionality.
Some details:
This part of the patch provides support for the spawning of a thread
that will interact with the libtpms-based TPM. It expects a signal
from the frontend to w
This patch adds (experimental) support for block migration.
In the case of block migration an empty QCoW2 image must be found on
the destination so that early checks on the content and whether it can be
decrytped with the provided key have to be skipped. That empty file needs
to be created by high
On 05/17/2011 03:32 PM, Max Filippov wrote:
> +if (xtensa_option_enabled(env->config, XTENSA_OPTION_TIMER_INTERRUPT)) {
> +int i;
> +for (i = 0; i < env->config->nccompare; ++i) {
> +if (env->sregs[CCOMPARE + i] - old_ccount <= d) {
> +env->halted = 0
Hi,
This is my current s390x patch queue containing
* s390x emulation
* fixes for s390x kvm
Please pull.
Alex
The following changes since commit 1fddfba129f5435c80eda14e8bc23fdb888c7187:
Alexander Graf (1):
ahci: Fix non-NCQ accesses for LBA > 16bits
are available in the git rep
This patch supports the storage of TPM persistent state.
The TPM creates state of varying size, depending for example how many
keys are loaded into it at a certain time. The worst-case sizes of
the different blobs the TPM can write have been pre-calculated and this
value is used to determine the m
Looks good,
Reviewed-by: Christoph Hellwig
1 - 100 of 199 matches
Mail list logo