Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 53d5522c authored by Stefano Stabellini's avatar Stefano Stabellini
Browse files

xen: make the ballon driver work for hvm domains

parent c80a4209
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -232,7 +232,7 @@ static int increase_reservation(unsigned long nr_pages)
		set_phys_to_machine(pfn, frame_list[i]);

		/* Link back into the page tables if not highmem. */
		if (pfn < max_low_pfn) {
		if (!xen_hvm_domain() && pfn < max_low_pfn) {
			int ret;
			ret = HYPERVISOR_update_va_mapping(
				(unsigned long)__va(pfn << PAGE_SHIFT),
@@ -280,7 +280,7 @@ static int decrease_reservation(unsigned long nr_pages)

		scrub_page(page);

		if (!PageHighMem(page)) {
		if (!xen_hvm_domain() && !PageHighMem(page)) {
			ret = HYPERVISOR_update_va_mapping(
				(unsigned long)__va(pfn << PAGE_SHIFT),
				__pte_ma(0), 0);
@@ -392,15 +392,19 @@ static struct notifier_block xenstore_notifier;

static int __init balloon_init(void)
{
	unsigned long pfn, extra_pfn_end;
 	unsigned long pfn, nr_pages, extra_pfn_end;
	struct page *page;

	if (!xen_pv_domain())
	if (!xen_domain())
		return -ENODEV;

	pr_info("xen_balloon: Initialising balloon driver.\n");

	balloon_stats.current_pages = min(xen_start_info->nr_pages, max_pfn);
 	if (xen_pv_domain())
 		nr_pages = xen_start_info->nr_pages;
 	else
 		nr_pages = max_pfn;
 	balloon_stats.current_pages = min(nr_pages, max_pfn);
	balloon_stats.target_pages  = balloon_stats.current_pages;
	balloon_stats.balloon_low   = 0;
	balloon_stats.balloon_high  = 0;