#include <linux/types.h>
#include <jailhouse/cell-config.h>
-#define ALIGN __attribute__((aligned(1)))
#define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0])
struct {
- struct jailhouse_cell_desc ALIGN cell;
- __u64 ALIGN cpus[1];
- struct jailhouse_memory ALIGN mem_regions[2];
- __u8 ALIGN pio_bitmap[0x2000];
-} ALIGN config = {
+ struct jailhouse_cell_desc cell;
+ __u64 cpus[1];
+ struct jailhouse_memory mem_regions[2];
+ __u8 pio_bitmap[0x2000];
+} __attribute__((packed)) config = {
.cell = {
.name = "apic-demo",
#include <linux/types.h>
#include <jailhouse/cell-config.h>
-#define ALIGN __attribute__((aligned(1)))
#define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0])
struct {
- struct jailhouse_system ALIGN header;
- __u64 ALIGN cpus[1];
- struct jailhouse_memory ALIGN mem_regions[13];
- __u8 ALIGN pio_bitmap[0x2000];
+ struct jailhouse_system header;
+ __u64 cpus[1];
+ struct jailhouse_memory mem_regions[13];
+ __u8 pio_bitmap[0x2000];
struct jailhouse_pci_device pci_devices[13];
-} ALIGN config = {
+} __attribute__((packed)) config = {
.header = {
.hypervisor_memory = {
.phys_start = 0x1c000000,
#include <linux/types.h>
#include <jailhouse/cell-config.h>
-#define ALIGN __attribute__((aligned(1)))
#define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0])
struct {
- struct jailhouse_system ALIGN header;
- __u64 ALIGN cpus[1];
- struct jailhouse_memory ALIGN mem_regions[1];
-} ALIGN config = {
+ struct jailhouse_system header;
+ __u64 cpus[1];
+ struct jailhouse_memory mem_regions[1];
+} __attribute__((packed)) config = {
.header = {
.hypervisor_memory = {
.phys_start = 0xbc000000,
#include <linux/types.h>
#include <jailhouse/cell-config.h>
-#define ALIGN __attribute__((aligned(1)))
#define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0])
struct {
- struct jailhouse_system ALIGN header;
- __u64 ALIGN cpus[1];
- struct jailhouse_memory ALIGN mem_regions[9];
- __u8 ALIGN pio_bitmap[0x2000];
+ struct jailhouse_system header;
+ __u64 cpus[1];
+ struct jailhouse_memory mem_regions[9];
+ __u8 pio_bitmap[0x2000];
struct jailhouse_pci_device pci_devices[25];
-} ALIGN config = {
+} __attribute__((packed)) config = {
.header = {
.hypervisor_memory = {
.phys_start = 0x3c000000,
#include <linux/types.h>
#include <jailhouse/cell-config.h>
-#define ALIGN __attribute__((aligned(1)))
#define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0])
struct {
- struct jailhouse_system ALIGN header;
- __u64 ALIGN cpus[1];
- struct jailhouse_memory ALIGN mem_regions[9];
- __u8 ALIGN pio_bitmap[0x2000];
+ struct jailhouse_system header;
+ __u64 cpus[1];
+ struct jailhouse_memory mem_regions[9];
+ __u8 pio_bitmap[0x2000];
struct jailhouse_pci_device pci_devices[13];
-} ALIGN config = {
+} __attribute__((packed)) config = {
.header = {
.hypervisor_memory = {
.phys_start = 0x3c000000,
#include <linux/types.h>
#include <jailhouse/cell-config.h>
-#define ALIGN __attribute__((aligned(1)))
#define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0])
struct {
- struct jailhouse_system ALIGN header;
- __u64 ALIGN cpus[1];
- struct jailhouse_memory ALIGN mem_regions[5];
- __u8 ALIGN pio_bitmap[0x2000];
+ struct jailhouse_system header;
+ __u64 cpus[1];
+ struct jailhouse_memory mem_regions[5];
+ __u8 pio_bitmap[0x2000];
struct jailhouse_pci_device pci_devices[7];
-} ALIGN config = {
+} __attribute__((packed)) config = {
.header = {
.hypervisor_memory = {
.phys_start = 0x3c000000,
#include <linux/types.h>
#include <jailhouse/cell-config.h>
-#define ALIGN __attribute__((aligned(1)))
#define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0])
struct {
- struct jailhouse_cell_desc ALIGN cell;
- __u64 ALIGN cpus[1];
- struct jailhouse_memory ALIGN mem_regions[1];
- __u8 ALIGN pio_bitmap[0x2000];
-} ALIGN config = {
+ struct jailhouse_cell_desc cell;
+ __u64 cpus[1];
+ struct jailhouse_memory mem_regions[1];
+ __u8 pio_bitmap[0x2000];
+} __attribute__((packed)) config = {
.cell = {
.name = "tiny-demo",
.flags = JAILHOUSE_CELL_PASSIVE_COMMREG,
__u32 num_irq_lines;
__u32 pio_bitmap_size;
__u32 num_pci_devices;
-
- __u32 padding[2];
-};
+} __attribute__((packed));
#define JAILHOUSE_MEM_READ 0x0001
#define JAILHOUSE_MEM_WRITE 0x0002
__u64 virt_start;
__u64 size;
__u64 flags;
-};
+} __attribute__((packed));
struct jailhouse_irq_line {
__u32 num;
__u32 irqchip;
-};
+} __attribute__((packed));
#define JAILHOUSE_PCI_TYPE_DEVICE 0x01
#define JAILHOUSE_PCI_TYPE_BRIDGE 0x02
struct jailhouse_memory hypervisor_memory;
struct jailhouse_memory config_memory;
struct jailhouse_cell_desc system;
-};
+} __attribute__((packed));
static inline __u32
jailhouse_cell_config_size(struct jailhouse_cell_desc *cell)