diff options
author | RajithaY <rajithax.yerrumsetty@intel.com> | 2017-04-25 03:31:15 -0700 |
---|---|---|
committer | Rajitha Yerrumchetty <rajithax.yerrumsetty@intel.com> | 2017-05-22 06:48:08 +0000 |
commit | bb756eebdac6fd24e8919e2c43f7d2c8c4091f59 (patch) | |
tree | ca11e03542edf2d8f631efeca5e1626d211107e3 /qemu/docs/specs/ppc-spapr-hcalls.txt | |
parent | a14b48d18a9ed03ec191cf16b162206998a895ce (diff) |
Adding qemu as a submodule of KVMFORNFV
This Patch includes the changes to add qemu as a submodule to
kvmfornfv repo and make use of the updated latest qemu for the
execution of all testcase
Change-Id: I1280af507a857675c7f81d30c95255635667bdd7
Signed-off-by:RajithaY<rajithax.yerrumsetty@intel.com>
Diffstat (limited to 'qemu/docs/specs/ppc-spapr-hcalls.txt')
-rw-r--r-- | qemu/docs/specs/ppc-spapr-hcalls.txt | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/qemu/docs/specs/ppc-spapr-hcalls.txt b/qemu/docs/specs/ppc-spapr-hcalls.txt deleted file mode 100644 index 5bd8eab78..000000000 --- a/qemu/docs/specs/ppc-spapr-hcalls.txt +++ /dev/null @@ -1,78 +0,0 @@ -When used with the "pseries" machine type, QEMU-system-ppc64 implements -a set of hypervisor calls using a subset of the server "PAPR" specification -(IBM internal at this point), which is also what IBM's proprietary hypervisor -adheres too. - -The subset is selected based on the requirements of Linux as a guest. - -In addition to those calls, we have added our own private hypervisor -calls which are mostly used as a private interface between the firmware -running in the guest and QEMU. - -All those hypercalls start at hcall number 0xf000 which correspond -to a implementation specific range in PAPR. - -- H_RTAS (0xf000) - -RTAS is a set of runtime services generally provided by the firmware -inside the guest to the operating system. It predates the existence -of hypervisors (it was originally an extension to Open Firmware) and -is still used by PAPR to provide various services that aren't performance -sensitive. - -We currently implement the RTAS services in QEMU itself. The actual RTAS -"firmware" blob in the guest is a small stub of a few instructions which -calls our private H_RTAS hypervisor call to pass the RTAS calls to QEMU. - -Arguments: - - r3 : H_RTAS (0xf000) - r4 : Guest physical address of RTAS parameter block - -Returns: - - H_SUCCESS : Successfully called the RTAS function (RTAS result - will have been stored in the parameter block) - H_PARAMETER : Unknown token - -- H_LOGICAL_MEMOP (0xf001) - -When the guest runs in "real mode" (in powerpc lingua this means -with MMU disabled, ie guest effective == guest physical), it only -has access to a subset of memory and no IOs. - -PAPR provides a set of hypervisor calls to perform cacheable or -non-cacheable accesses to any guest physical addresses that the -guest can use in order to access IO devices while in real mode. - -This is typically used by the firmware running in the guest. - -However, doing a hypercall for each access is extremely inefficient -(even more so when running KVM) when accessing the frame buffer. In -that case, things like scrolling become unusably slow. - -This hypercall allows the guest to request a "memory op" to be applied -to memory. The supported memory ops at this point are to copy a range -of memory (supports overlap of source and destination) and XOR which -is used by our SLOF firmware to invert the screen. - -Arguments: - - r3: H_LOGICAL_MEMOP (0xf001) - r4: Guest physical address of destination - r5: Guest physical address of source - r6: Individual element size - 0 = 1 byte - 1 = 2 bytes - 2 = 4 bytes - 3 = 8 bytes - r7: Number of elements - r8: Operation - 0 = copy - 1 = xor - -Returns: - - H_SUCCESS : Success - H_PARAMETER : Invalid argument - |