ia64/xen-unstable

annotate xen/include/asm-x86/hardirq.h @ 15812:86a154e1ef5d

[HVM] Shadow: don't shadow the p2m table.
For HVM vcpus with paging disabled, we used to shadow the p2m table,
and skip the p2m lookup to go from gfn to mfn. Instead, we now
provide a simple pagetable that gives a one-to-one mapping of 4GB, and
shadow that, making the translations from gfn to mfn via the p2m.
This removes the paging-disabled special-case code from the shadow
fault handler, and allows us to expand the p2m interface, since all HVM
translations now go through the same p2m lookups.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
author Tim Deegan <Tim.Deegan@xensource.com>
date Fri Aug 31 11:06:22 2007 +0100 (2007-08-31)
parents 3838105ab03b
children
rev   line source
kaf24@1452 1 #ifndef __ASM_HARDIRQ_H
kaf24@1452 2 #define __ASM_HARDIRQ_H
kaf24@1452 3
kaf24@1452 4 #include <xen/config.h>
cl349@2959 5 #include <xen/cache.h>
kaf24@1452 6
kaf24@1452 7 typedef struct {
kaf24@9552 8 unsigned long __softirq_pending;
kaf24@1452 9 unsigned int __local_irq_count;
kaf24@1452 10 unsigned int __nmi_count;
kaf24@3075 11 } __cacheline_aligned irq_cpustat_t;
kaf24@1452 12
kaf24@1452 13 #include <xen/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
kaf24@1452 14
kaf24@1452 15 #define in_irq() (local_irq_count(smp_processor_id()) != 0)
kaf24@1452 16
kaf24@8847 17 #define irq_enter() (local_irq_count(smp_processor_id())++)
kaf24@8847 18 #define irq_exit() (local_irq_count(smp_processor_id())--)
kaf24@8847 19
kaf24@8847 20 void ack_bad_irq(unsigned int irq);
kaf24@8847 21
kaf24@8847 22 extern void apic_intr_init(void);
kaf24@8847 23 extern void smp_intr_init(void);
kaf24@1452 24
kaf24@1452 25 #endif /* __ASM_HARDIRQ_H */