From: Ingo Molnar Date: Mon, 27 Oct 2008 11:38:02 +0000 (+0100) Subject: Merge commit 'v2.6.28-rc2' into x86/uv X-Git-Tag: upstream/snapshot3+hdmi~21175^2~4^29~15 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5292ae11babca23c3ff82593630d2d7eebc350a9;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git Merge commit 'v2.6.28-rc2' into x86/uv --- 5292ae11babca23c3ff82593630d2d7eebc350a9 diff --cc arch/x86/include/asm/uv/bios.h index 0000000,d931d3b..51cadc6 mode 000000,100644..100644 --- a/arch/x86/include/asm/uv/bios.h +++ b/arch/x86/include/asm/uv/bios.h @@@ -1,0 -1,94 +1,94 @@@ + #ifndef _ASM_X86_UV_BIOS_H + #define _ASM_X86_UV_BIOS_H + + /* + * UV BIOS layer definitions. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Copyright (c) 2008 Silicon Graphics, Inc. All Rights Reserved. + * Copyright (c) Russ Anderson + */ + + #include + + /* + * Values for the BIOS calls. It is passed as the first * argument in the + * BIOS call. Passing any other value in the first argument will result + * in a BIOS_STATUS_UNIMPLEMENTED return status. + */ + enum uv_bios_cmd { + UV_BIOS_COMMON, + UV_BIOS_GET_SN_INFO, + UV_BIOS_FREQ_BASE + }; + + /* + * Status values returned from a BIOS call. + */ + enum { + BIOS_STATUS_SUCCESS = 0, + BIOS_STATUS_UNIMPLEMENTED = -ENOSYS, + BIOS_STATUS_EINVAL = -EINVAL, + BIOS_STATUS_UNAVAIL = -EBUSY + }; + + /* + * The UV system table describes specific firmware + * capabilities available to the Linux kernel at runtime. + */ + struct uv_systab { + char signature[4]; /* must be "UVST" */ + u32 revision; /* distinguish different firmware revs */ + u64 function; /* BIOS runtime callback function ptr */ + }; + + enum { + BIOS_FREQ_BASE_PLATFORM = 0, + BIOS_FREQ_BASE_INTERVAL_TIMER = 1, + BIOS_FREQ_BASE_REALTIME_CLOCK = 2 + }; + + union partition_info_u { + u64 val; + struct { + u64 hub_version : 8, + partition_id : 16, + coherence_id : 16, + region_size : 24; + }; + }; + + /* + * bios calls have 6 parameters + */ + extern s64 uv_bios_call(enum uv_bios_cmd, u64, u64, u64, u64, u64); + extern s64 uv_bios_call_irqsave(enum uv_bios_cmd, u64, u64, u64, u64, u64); + extern s64 uv_bios_call_reentrant(enum uv_bios_cmd, u64, u64, u64, u64, u64); + + extern s64 uv_bios_get_sn_info(int, int *, long *, long *, long *); + extern s64 uv_bios_freq_base(u64, u64 *); + + extern void uv_bios_init(void); + + extern int uv_type; + extern long sn_partition_id; -extern long uv_coherency_id; -extern long uv_region_size; -#define partition_coherence_id() (uv_coherency_id) ++extern long sn_coherency_id; ++extern long sn_region_size; ++#define partition_coherence_id() (sn_coherency_id) + + extern struct kobject *sgi_uv_kobj; /* /sys/firmware/sgi_uv */ + + #endif /* _ASM_X86_UV_BIOS_H */