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

Commit 03b48632 authored by Nick Piggin's avatar Nick Piggin Committed by Ingo Molnar
Browse files

x86: make UV support configurable



Make X86 SGI Ultraviolet support configurable. Saves about 13K of text size
on my modest config.

   text    data     bss     dec     hex filename
6770537 1158680  694356 8623573  8395d5 vmlinux
6757492 1157664  694228 8609384  835e68 vmlinux.nouv

Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 5b221278
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -391,6 +391,13 @@ config X86_RDC321X
	  as R-8610-(G).
	  If you don't have one of these chips, you should say N here.

config X86_UV
	bool "SGI Ultraviolet"
	depends on X86_64
	help
	  This option is needed in order to support SGI Ultraviolet systems.
	  If you don't have one of these, you should say N here.

config SCHED_OMIT_FRAME_POINTER
	def_bool y
	prompt "Single-depth WCHAN output"
+3 −3
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@

enum uv_system_type {UV_NONE, UV_LEGACY_APIC, UV_X2APIC, UV_NON_UNIQUE_APIC};

#ifdef CONFIG_X86_64
#ifdef CONFIG_X86_UV

extern enum uv_system_type get_uv_system_type(void);
extern int is_uv_system(void);
@@ -15,7 +15,7 @@ extern const struct cpumask *uv_flush_tlb_others(const struct cpumask *cpumask,
						 unsigned long va,
						 unsigned int cpu);

#else	/* X86_64 */
#else	/* X86_UV */

static inline enum uv_system_type get_uv_system_type(void) { return UV_NONE; }
static inline int is_uv_system(void)	{ return 0; }
@@ -28,6 +28,6 @@ uv_flush_tlb_others(const struct cpumask *cpumask, struct mm_struct *mm,
		    unsigned long va, unsigned int cpu)
{ return cpumask; }

#endif	/* X86_64 */
#endif	/* X86_UV */

#endif	/* _ASM_X86_UV_UV_H */
+3 −2
Original line number Diff line number Diff line
@@ -115,10 +115,11 @@ obj-$(CONFIG_SWIOTLB) += pci-swiotlb_64.o # NB rename without _64
###
# 64 bit specific files
ifeq ($(CONFIG_X86_64),y)
        obj-y				+= genapic_64.o genapic_flat_64.o genx2apic_uv_x.o tlb_uv.o
	obj-y				+= bios_uv.o uv_irq.o uv_sysfs.o
        obj-y				+= genapic_64.o genapic_flat_64.o
        obj-y				+= genx2apic_cluster.o
        obj-y				+= genx2apic_phys.o
	obj-$(CONFIG_X86_UV)		+= genx2apic_uv_x.o tlb_uv.o
	obj-$(CONFIG_X86_UV)		+= bios_uv.o uv_irq.o uv_sysfs.o
        obj-$(CONFIG_X86_PM_TIMER)	+= pmtimer_64.o
        obj-$(CONFIG_AUDIT)		+= audit_64.o

+2 −0
Original line number Diff line number Diff line
@@ -366,10 +366,12 @@ void __init efi_init(void)
					SMBIOS_TABLE_GUID)) {
			efi.smbios = config_tables[i].table;
			printk(" SMBIOS=0x%lx ", config_tables[i].table);
#ifdef CONFIG_X86_UV
		} else if (!efi_guidcmp(config_tables[i].guid,
					UV_SYSTEM_TABLE_GUID)) {
			efi.uv_systab = config_tables[i].table;
			printk(" UVsystab=0x%lx ", config_tables[i].table);
#endif
		} else if (!efi_guidcmp(config_tables[i].guid,
					HCDP_TABLE_GUID)) {
			efi.hcdp = config_tables[i].table;
+2 −0
Original line number Diff line number Diff line
@@ -982,8 +982,10 @@ apicinterrupt IRQ_MOVE_CLEANUP_VECTOR \
	irq_move_cleanup_interrupt smp_irq_move_cleanup_interrupt
#endif

#ifdef CONFIG_X86_UV
apicinterrupt UV_BAU_MESSAGE \
	uv_bau_message_intr1 uv_bau_message_interrupt
#endif
apicinterrupt LOCAL_TIMER_VECTOR \
	apic_timer_interrupt smp_apic_timer_interrupt

Loading