ia64: remove support for machvecs
The only thing remaining of the machvecs is a few checks if we are running on an SGI UV system. Replace those with the existing is_uv_system() check that has been rewritten to simply check the OEM ID directly. That leaves us with a generic kernel that is as fast as the previous DIG/ZX1/UV kernels, but can support all hardware. Support for UV and the HP SBA IOMMU is now optional based on new config options. Signed-off-by: Christoph Hellwig <hch@lst.de> Link: https://lkml.kernel.org/r/20190813072514.23299-27-hch@lst.de Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:

committed by
Tony Luck

parent
a8384e6ce5
commit
df41017eaf
@@ -188,7 +188,7 @@ config ENCLOSURE_SERVICES
|
||||
config SGI_XP
|
||||
tristate "Support communication between SGI SSIs"
|
||||
depends on NET
|
||||
depends on (IA64_GENERIC || IA64_SGI_UV || X86_UV) && SMP
|
||||
depends on (IA64_SGI_UV || X86_UV) && SMP
|
||||
depends on X86_64 || BROKEN
|
||||
select SGI_GRU if X86_64 && SMP
|
||||
---help---
|
||||
|
@@ -17,7 +17,7 @@
|
||||
#include <asm/uv/uv_hub.h>
|
||||
#if defined CONFIG_X86_64
|
||||
#include <asm/uv/bios.h>
|
||||
#elif defined CONFIG_IA64_GENERIC || defined CONFIG_IA64_SGI_UV
|
||||
#elif defined CONFIG_IA64_SGI_UV
|
||||
#include <asm/sn/sn_sal.h>
|
||||
#endif
|
||||
#include "../sgi-gru/grukservices.h"
|
||||
@@ -99,7 +99,7 @@ xp_expand_memprotect_uv(unsigned long phys_addr, unsigned long size)
|
||||
return xpBiosError;
|
||||
}
|
||||
|
||||
#elif defined CONFIG_IA64_GENERIC || defined CONFIG_IA64_SGI_UV
|
||||
#elif defined CONFIG_IA64_SGI_UV
|
||||
u64 nasid_array;
|
||||
|
||||
ret = sn_change_memprotect(phys_addr, size, SN_MEMPROT_ACCESS_CLASS_1,
|
||||
@@ -129,7 +129,7 @@ xp_restrict_memprotect_uv(unsigned long phys_addr, unsigned long size)
|
||||
return xpBiosError;
|
||||
}
|
||||
|
||||
#elif defined CONFIG_IA64_GENERIC || defined CONFIG_IA64_SGI_UV
|
||||
#elif defined CONFIG_IA64_SGI_UV
|
||||
u64 nasid_array;
|
||||
|
||||
ret = sn_change_memprotect(phys_addr, size, SN_MEMPROT_ACCESS_CLASS_0,
|
||||
|
@@ -27,7 +27,7 @@
|
||||
#if defined CONFIG_X86_64
|
||||
#include <asm/uv/bios.h>
|
||||
#include <asm/uv/uv_irq.h>
|
||||
#elif defined CONFIG_IA64_GENERIC || defined CONFIG_IA64_SGI_UV
|
||||
#elif defined CONFIG_IA64_SGI_UV
|
||||
#include <asm/sn/intr.h>
|
||||
#include <asm/sn/sn_sal.h>
|
||||
#endif
|
||||
@@ -35,7 +35,7 @@
|
||||
#include "../sgi-gru/grukservices.h"
|
||||
#include "xpc.h"
|
||||
|
||||
#if defined CONFIG_IA64_GENERIC || defined CONFIG_IA64_SGI_UV
|
||||
#if defined CONFIG_IA64_SGI_UV
|
||||
struct uv_IO_APIC_route_entry {
|
||||
__u64 vector : 8,
|
||||
delivery_mode : 3,
|
||||
@@ -121,7 +121,7 @@ xpc_get_gru_mq_irq_uv(struct xpc_gru_mq_uv *mq, int cpu, char *irq_name)
|
||||
|
||||
mq->mmr_value = uv_read_global_mmr64(mmr_pnode, mq->mmr_offset);
|
||||
|
||||
#elif defined CONFIG_IA64_GENERIC || defined CONFIG_IA64_SGI_UV
|
||||
#elif defined CONFIG_IA64_SGI_UV
|
||||
if (strcmp(irq_name, XPC_ACTIVATE_IRQ_NAME) == 0)
|
||||
mq->irq = SGI_XPC_ACTIVATE;
|
||||
else if (strcmp(irq_name, XPC_NOTIFY_IRQ_NAME) == 0)
|
||||
@@ -144,7 +144,7 @@ xpc_release_gru_mq_irq_uv(struct xpc_gru_mq_uv *mq)
|
||||
#if defined CONFIG_X86_64
|
||||
uv_teardown_irq(mq->irq);
|
||||
|
||||
#elif defined CONFIG_IA64_GENERIC || defined CONFIG_IA64_SGI_UV
|
||||
#elif defined CONFIG_IA64_SGI_UV
|
||||
int mmr_pnode;
|
||||
unsigned long mmr_value;
|
||||
|
||||
@@ -162,7 +162,7 @@ xpc_gru_mq_watchlist_alloc_uv(struct xpc_gru_mq_uv *mq)
|
||||
{
|
||||
int ret;
|
||||
|
||||
#if defined CONFIG_IA64_GENERIC || defined CONFIG_IA64_SGI_UV
|
||||
#if defined CONFIG_IA64_SGI_UV
|
||||
int mmr_pnode = uv_blade_to_pnode(mq->mmr_blade);
|
||||
|
||||
ret = sn_mq_watchlist_alloc(mmr_pnode, (void *)uv_gpa(mq->address),
|
||||
@@ -197,7 +197,7 @@ xpc_gru_mq_watchlist_free_uv(struct xpc_gru_mq_uv *mq)
|
||||
#if defined CONFIG_X86_64
|
||||
ret = uv_bios_mq_watchlist_free(mmr_pnode, mq->watchlist_num);
|
||||
BUG_ON(ret != BIOS_STATUS_SUCCESS);
|
||||
#elif defined CONFIG_IA64_GENERIC || defined CONFIG_IA64_SGI_UV
|
||||
#elif defined CONFIG_IA64_SGI_UV
|
||||
ret = sn_mq_watchlist_free(mmr_pnode, mq->watchlist_num);
|
||||
BUG_ON(ret != SALRET_OK);
|
||||
#else
|
||||
@@ -796,7 +796,7 @@ xpc_get_partition_rsvd_page_pa_uv(void *buf, u64 *cookie, unsigned long *rp_pa,
|
||||
else
|
||||
ret = xpBiosError;
|
||||
|
||||
#elif defined CONFIG_IA64_GENERIC || defined CONFIG_IA64_SGI_UV
|
||||
#elif defined CONFIG_IA64_SGI_UV
|
||||
status = sn_partition_reserved_page_pa((u64)buf, cookie, rp_pa, len);
|
||||
if (status == SALRET_OK)
|
||||
ret = xpSuccess;
|
||||
|
Reference in New Issue
Block a user