⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delivery.c

📁 xen 3.2.2 源码
💻 C
字号:
#include <xen/config.h>#include <xen/irq.h>#include <xen/sched.h>#include <asm/current.h>#include <asm/smp.h>#include <asm/hardirq.h>#include <mach_apic.h>/* * LOGICAL FLAT DELIVERY MODE (multicast via bitmask to <= 8 logical APIC IDs). */void init_apic_ldr_flat(void){	unsigned long val;	apic_write_around(APIC_DFR, APIC_DFR_FLAT);	val = apic_read(APIC_LDR) & ~APIC_LDR_MASK;	val |= SET_APIC_LOGICAL_ID(1UL << smp_processor_id());	apic_write_around(APIC_LDR, val);}void clustered_apic_check_flat(void){	printk("Enabling APIC mode:  Flat.  Using %d I/O APICs\n", nr_ioapics);}cpumask_t target_cpus_flat(void){	return cpu_online_map;} unsigned int cpu_mask_to_apicid_flat(cpumask_t cpumask){	return cpus_addr(cpumask)[0];}/* * PHYSICAL DELIVERY MODE (unicast to physical APIC IDs). */void init_apic_ldr_phys(void){	unsigned long val;	apic_write_around(APIC_DFR, APIC_DFR_FLAT);	/* A dummy logical ID should be fine. We only deliver in phys mode. */	val = apic_read(APIC_LDR) & ~APIC_LDR_MASK;	apic_write_around(APIC_LDR, val);}void clustered_apic_check_phys(void){	printk("Enabling APIC mode:  Phys.  Using %d I/O APICs\n", nr_ioapics);}cpumask_t target_cpus_phys(void){	/* IRQs will get bound more accurately later. */	return cpumask_of_cpu(0);}unsigned int cpu_mask_to_apicid_phys(cpumask_t cpumask){	/* As we are using single CPU as destination, pick only one CPU here */	return cpu_physical_id(first_cpu(cpumask));}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -