The optional `<rate-limited level>` option instructs which severities
should be rate limited.
+### hap
+> `= <boolean>`
+
+> Default: `true`
+
+Flag to globally enable or disable support for Hardware Assisted
+Paging (HAP)
+
### hap\_1gb
> `= <boolean>`
> Default: `true`
-Flag to enable 1 GB host page table support for Hardware Assisted
+Flag to enable 2 MB host page table support for Hardware Assisted
Paging (HAP).
### hpetbroadcast
unsigned long __attribute__ ((__section__ (".bss.page_aligned")))
hvm_io_bitmap[3*PAGE_SIZE/BYTES_PER_LONG];
+/* Xen command-line option to enable HAP */
+static bool_t __initdata opt_hap_enabled = 1;
+boolean_param("hap", opt_hap_enabled);
+
static int cpu_callback(
struct notifier_block *nfb, unsigned long action, void *hcpu)
{
hvm_enabled = 1;
printk("HVM: %s enabled\n", hvm_funcs.name);
- if ( hvm_funcs.hap_supported )
+ if ( !hvm_funcs.hap_supported )
+ printk("HVM: Hardware Assisted Paging (HAP) not detected\n");
+ else if ( !opt_hap_enabled )
+ {
+ hvm_funcs.hap_supported = 0;
+ printk("HVM: Hardware Assisted Paging (HAP) detected but disabled\n");
+ }
+ else
{
printk("HVM: Hardware Assisted Paging (HAP) detected\n");
printk("HVM: HAP page sizes: 4kB");