aboutsummaryrefslogtreecommitdiffstats
path: root/include/xen
diff options
context:
space:
mode:
authorJuergen Gross <jgross@suse.com>2015-07-17 00:51:22 -0400
committerDavid Vrabel <david.vrabel@citrix.com>2015-08-20 07:24:16 -0400
commit17fb46b1190b677a37cdd636e2aa30052109f51b (patch)
tree47461119ff01c254b7cd39a3cc5ab0cfab60f49b /include/xen
parent7ed208ef4ef9dbd03cda8a5b5a85cc78f79ef213 (diff)
xen: sync with xen headers
Use the newest headers from the xen tree to get some new structure layouts. Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: David Vrabel <david.vrabel@citrix.com> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@oracle.com> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Diffstat (limited to 'include/xen')
-rw-r--r--include/xen/interface/xen.h35
1 files changed, 20 insertions, 15 deletions
diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h
index a48378958062..8194270edcf0 100644
--- a/include/xen/interface/xen.h
+++ b/include/xen/interface/xen.h
@@ -585,26 +585,29 @@ struct shared_info {
585}; 585};
586 586
587/* 587/*
588 * Start-of-day memory layout for the initial domain (DOM0): 588 * Start-of-day memory layout
589 *
589 * 1. The domain is started within contiguous virtual-memory region. 590 * 1. The domain is started within contiguous virtual-memory region.
590 * 2. The contiguous region begins and ends on an aligned 4MB boundary. 591 * 2. The contiguous region begins and ends on an aligned 4MB boundary.
591 * 3. The region start corresponds to the load address of the OS image. 592 * 3. This the order of bootstrap elements in the initial virtual region:
592 * If the load address is not 4MB aligned then the address is rounded down.
593 * 4. This the order of bootstrap elements in the initial virtual region:
594 * a. relocated kernel image 593 * a. relocated kernel image
595 * b. initial ram disk [mod_start, mod_len] 594 * b. initial ram disk [mod_start, mod_len]
595 * (may be omitted)
596 * c. list of allocated page frames [mfn_list, nr_pages] 596 * c. list of allocated page frames [mfn_list, nr_pages]
597 * (unless relocated due to XEN_ELFNOTE_INIT_P2M)
597 * d. start_info_t structure [register ESI (x86)] 598 * d. start_info_t structure [register ESI (x86)]
598 * e. bootstrap page tables [pt_base, CR3 (x86)] 599 * in case of dom0 this page contains the console info, too
599 * f. bootstrap stack [register ESP (x86)] 600 * e. unless dom0: xenstore ring page
600 * 5. Bootstrap elements are packed together, but each is 4kB-aligned. 601 * f. unless dom0: console ring page
601 * 6. The initial ram disk may be omitted. 602 * g. bootstrap page tables [pt_base, CR3 (x86)]
602 * 7. The list of page frames forms a contiguous 'pseudo-physical' memory 603 * h. bootstrap stack [register ESP (x86)]
604 * 4. Bootstrap elements are packed together, but each is 4kB-aligned.
605 * 5. The list of page frames forms a contiguous 'pseudo-physical' memory
603 * layout for the domain. In particular, the bootstrap virtual-memory 606 * layout for the domain. In particular, the bootstrap virtual-memory
604 * region is a 1:1 mapping to the first section of the pseudo-physical map. 607 * region is a 1:1 mapping to the first section of the pseudo-physical map.
605 * 8. All bootstrap elements are mapped read-writable for the guest OS. The 608 * 6. All bootstrap elements are mapped read-writable for the guest OS. The
606 * only exception is the bootstrap page table, which is mapped read-only. 609 * only exception is the bootstrap page table, which is mapped read-only.
607 * 9. There is guaranteed to be at least 512kB padding after the final 610 * 7. There is guaranteed to be at least 512kB padding after the final
608 * bootstrap element. If necessary, the bootstrap virtual region is 611 * bootstrap element. If necessary, the bootstrap virtual region is
609 * extended by an extra 4MB to ensure this. 612 * extended by an extra 4MB to ensure this.
610 */ 613 */
@@ -641,10 +644,12 @@ struct start_info {
641}; 644};
642 645
643/* These flags are passed in the 'flags' field of start_info_t. */ 646/* These flags are passed in the 'flags' field of start_info_t. */
644#define SIF_PRIVILEGED (1<<0) /* Is the domain privileged? */ 647#define SIF_PRIVILEGED (1<<0) /* Is the domain privileged? */
645#define SIF_INITDOMAIN (1<<1) /* Is this the initial control domain? */ 648#define SIF_INITDOMAIN (1<<1) /* Is this the initial control domain? */
646#define SIF_MULTIBOOT_MOD (1<<2) /* Is mod_start a multiboot module? */ 649#define SIF_MULTIBOOT_MOD (1<<2) /* Is mod_start a multiboot module? */
647#define SIF_MOD_START_PFN (1<<3) /* Is mod_start a PFN? */ 650#define SIF_MOD_START_PFN (1<<3) /* Is mod_start a PFN? */
651#define SIF_VIRT_P2M_4TOOLS (1<<4) /* Do Xen tools understand a virt. mapped */
652 /* P->M making the 3 level tree obsolete? */
648#define SIF_PM_MASK (0xFF<<8) /* reserve 1 byte for xen-pm options */ 653#define SIF_PM_MASK (0xFF<<8) /* reserve 1 byte for xen-pm options */
649 654
650/* 655/*