Branch: refs/heads/coverity_scan

  Home:   https://github.com/siemens/jailhouse

  Commit: 58052a7a9d1f5904d72b1637282c877172ee69f6

      
https://github.com/siemens/jailhouse/commit/58052a7a9d1f5904d72b1637282c877172ee69f6

  Author: Jan Kiszka <[email protected]>

  Date:   2019-07-08 (Mon, 08 Jul 2019)



  Changed paths:

    M VERSION



  Log Message:

  -----------

  Bump version number



Signed-off-by: Jan Kiszka <[email protected]>





  Commit: d54cbbcc7c38e9631978756aac1f9f0b9749a80e

      
https://github.com/siemens/jailhouse/commit/d54cbbcc7c38e9631978756aac1f9f0b9749a80e

  Author: Jan Kiszka <[email protected]>

  Date:   2019-07-11 (Thu, 11 Jul 2019)



  Changed paths:

    M inmates/lib/alloc.c

    M inmates/lib/include/inmate_common.h



  Log Message:

  -----------

  inmates: Make heap relocatable



The initial heap needs to be within the initially mapped memory in order

to allocate page tables from it for mapping more. On x86, growing the

heap beyond the first MB is blocked by the comm region that has to be

located in lower memory in order to avoid conflicts with PCI resources.

Therefore, it is needed to relocate the heap after mapping its

additional space. Inmates should be able to do that by setting heap_pos.

So, make this pointer global.



Signed-off-by: Jan Kiszka <[email protected]>





  Commit: ede099ad87d8d3144aa807cd28b95d287948ad64

      
https://github.com/siemens/jailhouse/commit/ede099ad87d8d3144aa807cd28b95d287948ad64

  Author: Jan Kiszka <[email protected]>

  Date:   2019-07-11 (Thu, 11 Jul 2019)



  Changed paths:

    M configs/x86/qemu-x86.c



  Log Message:

  -----------

  configs: qemu-x86: Fix ACPI region size



At 0x40000000, some PCI resource region starts. We accidentally

overlapped this so far which was unnoticed because ivshmem uses 64-bit

resources, and no other PCI device was placed in that region. When

changing ivshmem to 32-bit, this will become relevant, though.



Signed-off-by: Jan Kiszka <[email protected]>





  Commit: 9f233898917f8c1141132606f2f2c624405d8c81

      
https://github.com/siemens/jailhouse/commit/9f233898917f8c1141132606f2f2c624405d8c81

  Author: Jan Kiszka <[email protected]>

  Date:   2019-07-13 (Sat, 13 Jul 2019)



  Changed paths:

    M hypervisor/arch/arm/Makefile

    M hypervisor/arch/arm/include/asm/smc.h

    M hypervisor/arch/arm/include/asm/sysregs.h



  Log Message:

  -----------

  arm: Fix build with gcc-8



The inline .arch_extension statements are ignored by gcc-8. We rather

need -march=armv7ve now.



To keep older gcc prior to version 5 happy, leave the inline statements

in place. Can be removed once we require newer gcc for other reasons.



Reported-by: Vitaly Andrianov <[email protected]>

Signed-off-by: Jan Kiszka <[email protected]>





  Commit: f6fef92ffabab0772a6da1fd15cf12887a9600fa

      
https://github.com/siemens/jailhouse/commit/f6fef92ffabab0772a6da1fd15cf12887a9600fa

  Author: Ralf Ramsauer <[email protected]>

  Date:   2019-07-16 (Tue, 16 Jul 2019)



  Changed paths:

    M pyjailhouse/sysfs_parser.py

    M tools/root-cell-config.c.tmpl



  Log Message:

  -----------

  pyjailhouse: sysfs_parser: Add more precise length of some extended caps



I often run into situations where Linux tries to write to some extended

capabilities. E.g., Linux wants to clear Advanced Error Reporting (ERR)

registers when probing for a device.



At the moment, the crash dump of the cell is hard to interprete, as it

remains unclear if the access is inside a capability, or if the device

just accesses some PCI config space (e.g., accesses beyond PCI spec). At

the moment, all extended capabilities have a fixed length of 4, which

supports the confusion. Four bytes only cover the header of the

capability.



This patch calculates the correct length of PCI caps for the

configuration file -- at least of some capabilities. For some extended

caps this is pretty easy, as they have a fixed length.

  Nevertheless, other vary in their length. In some cases, it's pretty

easy (VNDR, ACS), in other cases it's not worth it (VC, VC9) due to

their complexity.



Caps that aren't handle still result in a length of 4.



Additionally, switch to a hexadecimal representation of the length of

PCI caps in config files.



Signed-off-by: Ralf Ramsauer <[email protected]>

Signed-off-by: Jan Kiszka <[email protected]>





  Commit: ce87a6afc1de4ffdd10fba9c92ff1c89ec7d34e4

      
https://github.com/siemens/jailhouse/commit/ce87a6afc1de4ffdd10fba9c92ff1c89ec7d34e4

  Author: Ralf Ramsauer <[email protected]>

  Date:   2019-07-25 (Thu, 25 Jul 2019)



  Changed paths:

    M hypervisor/arch/arm/include/asm/bitops.h

    M hypervisor/arch/arm64/include/asm/bitops.h

    M hypervisor/arch/x86/include/asm/bitops.h



  Log Message:

  -----------

  core: bitops: fix type of clear_bit



I don't see a reason why nr should be unsigned for set_bit, but signed for

clear_bit. This probably got copy&pasted across architectures.



Signed-off-by: Ralf Ramsauer <[email protected]>

Signed-off-by: Jan Kiszka <[email protected]>





  Commit: 92c1d1d9948fd0c50d6c5bf4259e1dc9ba0b3d4e

      
https://github.com/siemens/jailhouse/commit/92c1d1d9948fd0c50d6c5bf4259e1dc9ba0b3d4e

  Author: Ralf Ramsauer <[email protected]>

  Date:   2019-07-25 (Thu, 25 Jul 2019)



  Changed paths:

    M hypervisor/arch/x86/svm.c

    M hypervisor/arch/x86/vmx.c



  Log Message:

  -----------

  x86: use definitions instead of constants



Those definitions are used during allocating, so let's use them during

deallocation as well.



Signed-off-by: Ralf Ramsauer <[email protected]>

Signed-off-by: Jan Kiszka <[email protected]>





  Commit: 90f392def0720107d0f0cb17f4d026cfd1c101b2

      
https://github.com/siemens/jailhouse/commit/90f392def0720107d0f0cb17f4d026cfd1c101b2

  Author: Ralf Ramsauer <[email protected]>

  Date:   2019-07-25 (Thu, 25 Jul 2019)



  Changed paths:

    M hypervisor/arch/x86/include/asm/cell.h

    M hypervisor/arch/x86/svm.c

    M hypervisor/arch/x86/vmx.c



  Log Message:

  -----------

  x86: use the variable io_bitmap for both



Semantically, SVM and VMX don't differ that much in those regards. Let's use

the same variable for both.



Signed-off-by: Ralf Ramsauer <[email protected]>

Signed-off-by: Jan Kiszka <[email protected]>





  Commit: 53a55842ef7e9f3695649272b37eed8cec89c271

      
https://github.com/siemens/jailhouse/commit/53a55842ef7e9f3695649272b37eed8cec89c271

  Author: Ralf Ramsauer <[email protected]>

  Date:   2019-07-25 (Thu, 25 Jul 2019)



  Changed paths:

    M hypervisor/arch/x86/include/asm/vcpu.h

    M hypervisor/arch/x86/svm.c

    M hypervisor/arch/x86/vcpu.c

    M hypervisor/arch/x86/vmx.c



  Log Message:

  -----------

  x86: consolidate io_bitmap allocation



It's pretty much the same, besides the number of pages that have to be

allocated.



Signed-off-by: Ralf Ramsauer <[email protected]>

Signed-off-by: Jan Kiszka <[email protected]>





  Commit: c416ff7427f11d51a818bdf8683a75f200f8573d

      
https://github.com/siemens/jailhouse/commit/c416ff7427f11d51a818bdf8683a75f200f8573d

  Author: Ralf Ramsauer <[email protected]>

  Date:   2019-07-25 (Thu, 25 Jul 2019)



  Changed paths:

    M hypervisor/arch/x86/svm.c

    M hypervisor/arch/x86/vcpu.c

    M hypervisor/arch/x86/vmx.c



  Log Message:

  -----------

  x86: consolidate deallocation of IO bitmaps



Same as before - we can now do this in vcpu.c.



Signed-off-by: Ralf Ramsauer <[email protected]>

Signed-off-by: Jan Kiszka <[email protected]>





  Commit: 9ad5ca85ea350eb10dd56a1994183039f5ac13f7

      
https://github.com/siemens/jailhouse/commit/9ad5ca85ea350eb10dd56a1994183039f5ac13f7

  Author: Ralf Ramsauer <[email protected]>

  Date:   2019-07-25 (Thu, 25 Jul 2019)



  Changed paths:

    M hypervisor/arch/x86/vcpu.c



  Log Message:

  -----------

  x86: remove superfluous statement



pio_bitmap already is set to the cell's pio bitmap. No need to repeat the

assignment.



Signed-off-by: Ralf Ramsauer <[email protected]>

Signed-off-by: Jan Kiszka <[email protected]>





  Commit: e4cfe90d48731cf30159d9fb8f9e7283756095f1

      
https://github.com/siemens/jailhouse/commit/e4cfe90d48731cf30159d9fb8f9e7283756095f1

  Author: Ralf Ramsauer <[email protected]>

  Date:   2019-07-25 (Thu, 25 Jul 2019)



  Changed paths:

    M hypervisor/arch/x86/i8042.c

    M hypervisor/arch/x86/include/asm/cell.h

    M hypervisor/arch/x86/vcpu.c



  Log Message:

  -----------

  x86: simplify check if i8042 needs moderation



By adding pio_i8042_allowed boolean flag to arch cell fields.



With this, we don't need to directly access the pio_bitmap in i8042.c. This

does not only simplify (and speed up) the decision, it will also be helpful in

future patches.



Signed-off-by: Ralf Ramsauer <[email protected]>

Signed-off-by: Jan Kiszka <[email protected]>





  Commit: e7674ea7425fc3f968c6d50a2bffb9afae861f9f

      
https://github.com/siemens/jailhouse/commit/e7674ea7425fc3f968c6d50a2bffb9afae861f9f

  Author: Jan Kiszka <[email protected]>

  Date:   2019-07-25 (Thu, 25 Jul 2019)



  Changed paths:

    M driver/main.c



  Log Message:

  -----------

  driver: Account for renaming of lapic_timer_frequency in 5.3



"lapic_timer_frequency heißt jetzt lapic_timer_period, sonst ändert sich

nix."



Signed-off-by: Jan Kiszka <[email protected]>





  Commit: 4f27c75d40daa00e7bb10e2c7b8160c6da8d9732

      
https://github.com/siemens/jailhouse/commit/4f27c75d40daa00e7bb10e2c7b8160c6da8d9732

  Author: Jan Kiszka <[email protected]>

  Date:   2019-07-26 (Fri, 26 Jul 2019)



  Changed paths:

    M Kbuild



  Log Message:

  -----------

  kbuild: Correctly step into driver directory



Descending into subdirectories with modules via subdir-y worked up to

5.3-rc1 but was never designed to do so, see

https://patchwork.kernel.org/patch/11059033. We are supposed to use

obj-m here as well.



Don't migrate the other subdirs because that causes warnings such as



cat: /data/jailhouse/hypervisor/modules.order: No such file or directory



due to missing module targets there.



Signed-off-by: Jan Kiszka <[email protected]>





  Commit: 91d4db70c6f9443e27475d76d965ee5e487a61e2

      
https://github.com/siemens/jailhouse/commit/91d4db70c6f9443e27475d76d965ee5e487a61e2

  Author: Ralf Ramsauer <[email protected]>

  Date:   2019-07-26 (Fri, 26 Jul 2019)



  Changed paths:

    M configs/arm64/amd-seattle-gic-demo.c

    M configs/arm64/amd-seattle-uart-demo.c

    M configs/arm64/espressobin-gic-demo.c

    M configs/arm64/foundation-v8-gic-demo.c

    M configs/arm64/foundation-v8-linux-demo.c

    M configs/arm64/foundation-v8-uart-demo.c

    M configs/arm64/hikey-gic-demo.c

    M configs/arm64/imx8mq-gic-demo.c

    M configs/arm64/k3-am654-gic-demo.c

    M configs/arm64/k3-am654-uart-demo.c

    M configs/arm64/macchiatobin-gic-demo.c

    M configs/arm64/miriac-sbc-ls1046a-gic-demo.c

    M configs/arm64/qemu-arm64-gic-demo.c

    M configs/arm64/ultra96-gic-demo.c

    M configs/arm64/zynqmp-zcu102-gic-demo.c



  Log Message:

  -----------

  configs: arm64: don't set .pio_bitmap_size



Needles to set them to zero:

  a) The compiler will do it for us

  b) ARM64 won't use it



Signed-off-by: Ralf Ramsauer <[email protected]>

Signed-off-by: Jan Kiszka <[email protected]>





  Commit: a8f1af81a9e2858c9cdc62dcd47471dc5a6e70fa

      
https://github.com/siemens/jailhouse/commit/a8f1af81a9e2858c9cdc62dcd47471dc5a6e70fa

  Author: Ralf Ramsauer <[email protected]>

  Date:   2019-07-26 (Fri, 26 Jul 2019)



  Changed paths:

    M hypervisor/arch/x86/include/asm/vcpu.h

    M hypervisor/arch/x86/svm.c

    M hypervisor/arch/x86/vcpu.c

    M hypervisor/arch/x86/vmx.c



  Log Message:

  -----------

  x86: drop vcpu_vendor_get_cell_io_bitmap and struct vcpu_io_bitmap



Intel and AMD are now basically the same. No more need for those level

of indirection. Consolidate it and save a lot of lines of code.



Signed-off-by: Ralf Ramsauer <[email protected]>

Signed-off-by: Jan Kiszka <[email protected]>





  Commit: cb4dee3cfb262cb2a184e7c62a56f1cb812e55c4

      
https://github.com/siemens/jailhouse/commit/cb4dee3cfb262cb2a184e7c62a56f1cb812e55c4

  Author: Ralf Ramsauer <[email protected]>

  Date:   2019-07-26 (Fri, 26 Jul 2019)



  Changed paths:

    M include/jailhouse/cell-config.h



  Log Message:

  -----------

  cell-config: introduce pio_whitelist structure and helpers



Introduce struct jailhouse_pio_whitelist, and a macro PIO_RANGE that helps to

fill lists in config files.



Signed-off-by: Ralf Ramsauer <[email protected]>

Signed-off-by: Jan Kiszka <[email protected]>





  Commit: 654594bc0be786ae1e495abef7b322e9024f8daa

      
https://github.com/siemens/jailhouse/commit/654594bc0be786ae1e495abef7b322e9024f8daa

  Author: Ralf Ramsauer <[email protected]>

  Date:   2019-07-26 (Fri, 26 Jul 2019)



  Changed paths:

    M configs/x86/apic-demo.c

    M configs/x86/e1000-demo.c

    M configs/x86/f2a88xm-hd3.c

    M configs/x86/imb-a180.c

    M configs/x86/ioapic-demo.c

    M configs/x86/ivshmem-demo.c

    M configs/x86/linux-x86-demo.c

    M configs/x86/pci-demo.c

    M configs/x86/qemu-x86.c

    M configs/x86/smp-demo.c

    M configs/x86/tiny-demo.c

    M hypervisor/arch/x86/vcpu.c

    M include/jailhouse/cell-config.h

    M tools/jailhouse-hardware-check



  Log Message:

  -----------

  x86: pio: use a whitelist instead of a permission bitmap



Whitelist-based permissions align better with the Jailhouse philosophy.



This patch switches the permission bitmap (which basically was (almost) a

duplicate of the final io_bitmap) to a structure that whitelists a port range,

given a base port and a length.



As a side effect, this patch drastically reduces the size of config files:

8404  -> 224   apic-demo.cell

8488  -> 312   e1000-demo.cell

11450 -> 3290  f2a88xm-hd3.cell

11634 -> 3474  imb-a180.cell

8424  -> 252   ioapic-demo.cell

8480  -> 296   ivshmem-demo.cell

8788  -> 608   linux-x86-demo.cell

8488  -> 308   pci-demo.cell

9730  -> 1586  qemu-x86.cell

8392  -> 212   smp-demo.cell

8404  -> 224   tiny-demo.cell



If no whitelist is given, all PIO access will be denied. Additionally, increase

the config file revision header.



Signed-off-by: Ralf Ramsauer <[email protected]>

[Jan: renamed for_each_pio -> for_each_pio_region]

Signed-off-by: Jan Kiszka <[email protected]>





  Commit: ce661a1b2ea6bc66d972a3d7850389f87d9556ce

      
https://github.com/siemens/jailhouse/commit/ce661a1b2ea6bc66d972a3d7850389f87d9556ce

  Author: Ralf Ramsauer <[email protected]>

  Date:   2019-07-26 (Fri, 26 Jul 2019)



  Changed paths:

    M tools/jailhouse-cell-linux

    M tools/root-cell-config.c.tmpl



  Log Message:

  -----------

  tools: update config generator



Obvious what happens here: Align the root cell template.



Signed-off-by: Ralf Ramsauer <[email protected]>

Signed-off-by: Jan Kiszka <[email protected]>





  Commit: 6adfa0af9d1772a9bfa5d2d3a54bb5263a3596e0

      
https://github.com/siemens/jailhouse/commit/6adfa0af9d1772a9bfa5d2d3a54bb5263a3596e0

  Author: Ralf Ramsauer <[email protected]>

  Date:   2019-07-29 (Mon, 29 Jul 2019)



  Changed paths:

    M tools/jailhouse-cell-linux



  Log Message:

  -----------

  tools: jailhouse-cell-linux: Simplify calculation of setup_data



The magic constant "25" makes things hard to read. We can abandon this

constant if we let python's struct do the whole calculation.



Signed-off-by: Ralf Ramsauer <[email protected]>

Signed-off-by: Jan Kiszka <[email protected]>





  Commit: ded106d6e583775fb8f9fc704bdfa3181351ac95

      
https://github.com/siemens/jailhouse/commit/ded106d6e583775fb8f9fc704bdfa3181351ac95

  Author: Ralf Ramsauer <[email protected]>

  Date:   2019-07-29 (Mon, 29 Jul 2019)



  Changed paths:

    M tools/jailhouse-cell-linux



  Log Message:

  -----------

  tools: jailhouse-cell-linux: Add support for pio_regions



We will need to parse pio_regions in the future.



Signed-off-by: Ralf Ramsauer <[email protected]>

Signed-off-by: Jan Kiszka <[email protected]>





  Commit: 5c45b67ebc7dbdeb959a750d52f226fca48d37ae

      
https://github.com/siemens/jailhouse/commit/5c45b67ebc7dbdeb959a750d52f226fca48d37ae

  Author: Ralf Ramsauer <[email protected]>

  Date:   2019-07-29 (Mon, 29 Jul 2019)



  Changed paths:

    M inmates/tools/x86/linux-loader.c

    M tools/jailhouse-cell-linux



  Log Message:

  -----------

  inmates: x86: linux-loader: Enrich setup_data with flags



Reserve 32 bits in the setup_data for additional flags. Soon,

jailhouse-cell-linux will use them to indicate the availability of

platform UARTs.



We extended the features of the setup_data, but didn't change the

semantics of any other field. So increase the number of the

compatibility version.



Signed-off-by: Ralf Ramsauer <[email protected]>

Signed-off-by: Jan Kiszka <[email protected]>





  Commit: dee9b4544936cd5c18759c06967f0d52fe147b16

      
https://github.com/siemens/jailhouse/commit/dee9b4544936cd5c18759c06967f0d52fe147b16

  Author: Ralf Ramsauer <[email protected]>

  Date:   2019-07-29 (Mon, 29 Jul 2019)



  Changed paths:

    M tools/jailhouse-cell-linux



  Log Message:

  -----------

  tools: jailhouse-cell-linux: fill the flags



We now have some space for additional flags. We use them to tell Linux

which platform UARTs are available. Linux can use these information to

setup only UARTs that are passed through.



Note that the PIO_RANGEs for UARTs have to be one consecutive

PIO_REGION, e.g. PIO_REGION(0x3f8, 8). Split regions, such as

{ PIO_REGION(0x3f8,4), PIO_REGION(0x3fc, 4) } won't be detected.



Signed-off-by: Ralf Ramsauer <[email protected]>

Signed-off-by: Jan Kiszka <[email protected]>





Compare: 
https://github.com/siemens/jailhouse/compare/a17c46ce809e...dee9b4544936

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jailhouse-dev/siemens/jailhouse/push/refs/heads/coverity_scan/a17c46-dee9b4%40github.com.

Reply via email to