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

Commit c8988f96 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] Fix CONFIG_IA64_SGI_UV build error
  [IA64] Update check_sal_cache_flush to use platform_send_ipi()
  [IA64] perfmon: fix async exit bug
parents 10acaf0c 732a675a
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -57,6 +57,7 @@ core-$(CONFIG_IA64_GENERIC) += arch/ia64/dig/
core-$(CONFIG_IA64_HP_ZX1)	+= arch/ia64/dig/
core-$(CONFIG_IA64_HP_ZX1)	+= arch/ia64/dig/
core-$(CONFIG_IA64_HP_ZX1_SWIOTLB) += arch/ia64/dig/
core-$(CONFIG_IA64_HP_ZX1_SWIOTLB) += arch/ia64/dig/
core-$(CONFIG_IA64_SGI_SN2)	+= arch/ia64/sn/
core-$(CONFIG_IA64_SGI_SN2)	+= arch/ia64/sn/
core-$(CONFIG_IA64_SGI_UV)	+= arch/ia64/uv/
core-$(CONFIG_KVM) 		+= arch/ia64/kvm/
core-$(CONFIG_KVM) 		+= arch/ia64/kvm/


drivers-$(CONFIG_PCI)		+= arch/ia64/pci/
drivers-$(CONFIG_PCI)		+= arch/ia64/pci/
+5 −5
Original line number Original line Diff line number Diff line
@@ -1864,11 +1864,6 @@ pfm_flush(struct file *filp, fl_owner_t id)
	 * invoked after, it will find an empty queue and no
	 * invoked after, it will find an empty queue and no
	 * signal will be sent. In both case, we are safe
	 * signal will be sent. In both case, we are safe
	 */
	 */
	if (filp->f_flags & FASYNC) {
		DPRINT(("cleaning up async_queue=%p\n", ctx->ctx_async_queue));
		pfm_do_fasync (-1, filp, ctx, 0);
	}

	PROTECT_CTX(ctx, flags);
	PROTECT_CTX(ctx, flags);


	state     = ctx->ctx_state;
	state     = ctx->ctx_state;
@@ -1999,6 +1994,11 @@ pfm_close(struct inode *inode, struct file *filp)
		return -EBADF;
		return -EBADF;
	}
	}


	if (filp->f_flags & FASYNC) {
		DPRINT(("cleaning up async_queue=%p\n", ctx->ctx_async_queue));
		pfm_do_fasync(-1, filp, ctx, 0);
	}

	PROTECT_CTX(ctx, flags);
	PROTECT_CTX(ctx, flags);


	state     = ctx->ctx_state;
	state     = ctx->ctx_state;
+3 −4
Original line number Original line Diff line number Diff line
@@ -252,11 +252,10 @@ check_sal_cache_flush (void)
	local_irq_save(flags);
	local_irq_save(flags);


	/*
	/*
	 * Schedule a timer interrupt, wait until it's reported, and see if
	 * Send ourselves a timer interrupt, wait until it's reported, and see
	 * SAL_CACHE_FLUSH drops it.
	 * if SAL_CACHE_FLUSH drops it.
	 */
	 */
	ia64_set_itv(IA64_TIMER_VECTOR);
	platform_send_ipi(cpu, IA64_TIMER_VECTOR, IA64_IPI_DM_INT, 0);
	ia64_set_itm(ia64_get_itc() + 1000);


	while (!ia64_get_irr(IA64_TIMER_VECTOR))
	while (!ia64_get_irr(IA64_TIMER_VECTOR))
		cpu_relax();
		cpu_relax();
+12 −0
Original line number Original line Diff line number Diff line
@@ -17,6 +17,9 @@
DEFINE_PER_CPU(struct uv_hub_info_s, __uv_hub_info);
DEFINE_PER_CPU(struct uv_hub_info_s, __uv_hub_info);
EXPORT_PER_CPU_SYMBOL_GPL(__uv_hub_info);
EXPORT_PER_CPU_SYMBOL_GPL(__uv_hub_info);


#ifdef CONFIG_IA64_SGI_UV
int sn_prom_type;
#endif


struct redir_addr {
struct redir_addr {
	unsigned long redirect;
	unsigned long redirect;
@@ -64,6 +67,15 @@ void __init uv_setup(char **cmdline_p)
		m_n_config.s.m_skt = 37;
		m_n_config.s.m_skt = 37;
		m_n_config.s.n_skt = 0;
		m_n_config.s.n_skt = 0;
		mmr_base = 0;
		mmr_base = 0;
#if 0
		/* Need BIOS calls - TDB */
		if (!ia64_sn_is_fake_prom())
			sn_prom_type = 1;
		else
#endif
			sn_prom_type = 2;
		printk(KERN_INFO "Running on medusa with %s PROM\n",
					(sn_prom_type == 1) ? "real" : "fake");
	} else {
	} else {
		get_lowmem_redirect(&lowmem_redir_base, &lowmem_redir_size);
		get_lowmem_redirect(&lowmem_redir_base, &lowmem_redir_size);
		node_id.v = uv_read_local_mmr(UVH_NODE_ID);
		node_id.v = uv_read_local_mmr(UVH_NODE_ID);
+6 −1
Original line number Original line Diff line number Diff line
@@ -8,7 +8,7 @@
#ifndef _ASM_IA64_SN_SIMULATOR_H
#ifndef _ASM_IA64_SN_SIMULATOR_H
#define _ASM_IA64_SN_SIMULATOR_H
#define _ASM_IA64_SN_SIMULATOR_H



#if defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_SGI_SN2) || defined(CONFIG_IA64_SGI_UV)
#define SNMAGIC 0xaeeeeeee8badbeefL
#define SNMAGIC 0xaeeeeeee8badbeefL
#define IS_MEDUSA()			({long sn; asm("mov %0=cpuid[%1]" : "=r"(sn) : "r"(2)); sn == SNMAGIC;})
#define IS_MEDUSA()			({long sn; asm("mov %0=cpuid[%1]" : "=r"(sn) : "r"(2)); sn == SNMAGIC;})


@@ -16,5 +16,10 @@
#define IS_RUNNING_ON_SIMULATOR()	(sn_prom_type)
#define IS_RUNNING_ON_SIMULATOR()	(sn_prom_type)
#define IS_RUNNING_ON_FAKE_PROM()	(sn_prom_type == 2)
#define IS_RUNNING_ON_FAKE_PROM()	(sn_prom_type == 2)
extern int sn_prom_type;		/* 0=hardware, 1=medusa/realprom, 2=medusa/fakeprom */
extern int sn_prom_type;		/* 0=hardware, 1=medusa/realprom, 2=medusa/fakeprom */
#else
#define IS_MEDUSA()			0
#define SIMULATOR_SLEEP()
#define IS_RUNNING_ON_SIMULATOR()	0
#endif


#endif /* _ASM_IA64_SN_SIMULATOR_H */
#endif /* _ASM_IA64_SN_SIMULATOR_H */