|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Reading GIC version from domU cfg file
Hi,
I made below changes to xl tools to read gic_version from domU cfg file.
But I I always get read 0 when I print d_config->num_gic_version.
I have set gic version as below in cfg file
gic_version= [ "2" ]
Can you please let me know If I got this correct or not?
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 81b472c..029cb42 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -898,6 +898,26 @@ static void initiate_domain_create(libxl__egc *egc,
}
}
+ LOG(DEBUG, "DOM CONFIG num_gic %d \n", d_config->num_gic_version);
+ state->gic_info = libxl__calloc(gc, sizeof(*state->gic_info),
d_config->num_gic_version);
+ if (d_config->num_gic_version)
+ {
+ LOG(DEBUG, "DOM CONFIG GIC %d\n", d_config->gic_version->version);
+ state->gic_info->version = d_config->gic_version->version;
+ }
+ else
+ {
+ //ret = libxl__device_dt_get_gic_info(gc,
&d_config->gic_info, &state->gic_info);
+ state->gic_info->version = 3;
+ LOG(DEBUG, "DOM CONFIG GIC NOT SET Read %d\n",
state->gic_info->version);
+ }
+
if (restore_fd >= 0) {
LOG(DEBUG, "restoring, not running bootloader");
domcreate_bootloader_done(egc, &dcs->bl, 0);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 7da2280..7e4fc0c 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -965,6 +965,11 @@ typedef struct {
const libxl_device_dtdev *conf;
} libxl__dtdev_info;
+/* GIC information */
+typedef struct {
+ uint8_t version;
+} libxl__gic_info;
+
/* from xl_dom */
_hidden libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid);
_hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
@@ -993,6 +998,8 @@ typedef struct {
int num_dtdevs;
libxl__dtdev_info *dtdevs_info;
+ int num_gic_version;
+ libxl__gic_info *gic_info;
} libxl__domain_build_state;
_hidden int libxl__build_pre(libxl__gc *gc, uint32_t domid,
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index e93dbfa..8df06f5 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -487,6 +487,9 @@ libxl_device_pci = Struct("device_pci", [
libxl_device_dtdev = Struct("device_dtdev", [
("path", string),
])
+libxl_device_gic_version = Struct("device_gic_version", [
+ ("version", uint8),
+ ])
libxl_device_vtpm = Struct("device_vtpm", [
("backend_domid", libxl_domid),
@@ -503,6 +506,7 @@ libxl_domain_config = Struct("domain_config", [
("nics", Array(libxl_device_nic, "num_nics")),
("pcidevs", Array(libxl_device_pci, "num_pcidevs")),
("dtdevs", Array(libxl_device_dtdev, "num_dtdevs")),
+ ("gic_version", Array(libxl_device_gic_version, "num_gic_version")),
("vfbs", Array(libxl_device_vfb, "num_vfbs")),
("vkbs", Array(libxl_device_vkb, "num_vkbs")),
("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |