aboutsummaryrefslogtreecommitdiff
path: root/include/ppcp7
AgeCommit message (Collapse)AuthorFilesLines
2021-02-12libhv: Compile with -WextraAlexey Kardashevskiy1-1/+1
-Wextra enables a bunch of rather useful checks which this fixes. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
2015-12-01Move the code for rfill into a separate functionThomas Huth1-11/+2
The code from the FAST_RFILL macro uses a local array as a temporary buffer - which gets allocated in the stack frame of the engine() function. Since engine() can be called recursively, this can cause stack overflows. So let's move the rfill code into a separate function to avoid these problems. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
2015-08-05Add missing half word access case to _FASTRMOVE and _FASTMOVEThomas Huth1-4/+4
The _FASTRMOVE and _FASTMOVE macros are missing the case where the alignment matches "6" - in this case, the copying can also be done with 16-bit accesses. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
2015-08-05fbuffer: Implement RFILL as an accelerated primitiveThomas Huth1-0/+12
By implementing RFILL as an primitive, we can get a huge speed-up of the screen erasing function. On board-js2x, it writes the pattern directly into the IO region, and on board-qemu it uses the KVMPPC_H_LOGICAL_MEMOP hypercall to copy the pattern from a temporary buffer into the IO region. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
2015-08-05fbuffer: Implement MRMOVE as an accelerated primitiveThomas Huth1-0/+2
The character drawing function fb8-draw-character uses "mrmove" (which moves main memory contents to IO memory) to copy the data of the character from main memory to the frame buffer. However, the current implementation of "mrmove" performs quite badly on board-qemu since it triggers a hypercall for each memory access (e.g. for each 8 bytes that are transfered). But since the KVMPPC_H_LOGICAL_MEMOP hypercall can transfer bigger regions at once, we can accelerate the character drawing quite a bit by simply mapping the "mrmove" to the same macro that is already used for the "rmove" (which is normally only used for copying from IO memory to IO memory, but on board-qemu it does not matter). For keeping board-js2x in sync, this patch also transforms the "mrmove" for js2x into primitives. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
2013-07-25Use a global definition of sync() and mb()Benjamin Herrenschmidt1-2/+13
For memory barriers accross the board. Also move the compiler barrier to cpu.h Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-02-22Move _FASTRMOVE implementation into headers & support new hcallBenjamin Herrenschmidt1-1/+60
This moves _FASTREMOVE to the cache.h header, 970 uses the existing code, p7 now uses the new memop hcall. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-01-11Fix inline asm for ci_write_xxBenjamin Herrenschmidt1-19/+31
It was clobbering r4 and not marking it as such, causing problems among others in virtio-blk Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2011-12-20Silenced some compiler warnings that occur when compiling with prototype checksThomas Huth1-1/+1
The compiler flags -Wmissing-prototypes and -Wstrict-prototypes generally help to write code with proper prototypes. This way one can avoid some ugly bugs because it helps to identify functions that do not have prototypes in headers. It also helps to improve performance since local functions then have to be declared "static", so the compiler can do better optimizations. Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com>
2011-11-24Support for virtio-block PCI devicesThomas Huth1-0/+5
The virtio devices are preferred way of providing virtualized devices on KVM/qemu. Here's now the basic support for virtio block devices. Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com>
2011-10-12Improved cache-inhibited access functionsThomas Huth1-10/+27
Implemented the CI functions in cache.h (which are required by net-snk) and fixed a bug in hv_logical_ci_store in libhvcall. Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com>
2011-03-22Initial qemu/KVM board supportBenjamin Herrenschmidt2-0/+112
Added a new board for SLOF running on KVM/qemu. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com>