Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: show number of core_siblings instead of thread_siblings in /proc/cpuinfo amd-iommu: fix iommu flag masks x86: initialize io_bitmap_base on 32bit x86: gettimeofday() vDSO: fix segfault when tv == NULL
This commit is contained in:
commit
5e30302b9e
@ -49,10 +49,10 @@
|
||||
#define IVHD_DEV_EXT_SELECT 0x46
|
||||
#define IVHD_DEV_EXT_SELECT_RANGE 0x47
|
||||
|
||||
#define IVHD_FLAG_HT_TUN_EN 0x00
|
||||
#define IVHD_FLAG_PASSPW_EN 0x01
|
||||
#define IVHD_FLAG_RESPASSPW_EN 0x02
|
||||
#define IVHD_FLAG_ISOC_EN 0x03
|
||||
#define IVHD_FLAG_HT_TUN_EN_MASK 0x01
|
||||
#define IVHD_FLAG_PASSPW_EN_MASK 0x02
|
||||
#define IVHD_FLAG_RESPASSPW_EN_MASK 0x04
|
||||
#define IVHD_FLAG_ISOC_EN_MASK 0x08
|
||||
|
||||
#define IVMD_FLAG_EXCL_RANGE 0x08
|
||||
#define IVMD_FLAG_UNITY_MAP 0x01
|
||||
@ -569,19 +569,19 @@ static void __init init_iommu_from_acpi(struct amd_iommu *iommu,
|
||||
* First set the recommended feature enable bits from ACPI
|
||||
* into the IOMMU control registers
|
||||
*/
|
||||
h->flags & IVHD_FLAG_HT_TUN_EN ?
|
||||
h->flags & IVHD_FLAG_HT_TUN_EN_MASK ?
|
||||
iommu_feature_enable(iommu, CONTROL_HT_TUN_EN) :
|
||||
iommu_feature_disable(iommu, CONTROL_HT_TUN_EN);
|
||||
|
||||
h->flags & IVHD_FLAG_PASSPW_EN ?
|
||||
h->flags & IVHD_FLAG_PASSPW_EN_MASK ?
|
||||
iommu_feature_enable(iommu, CONTROL_PASSPW_EN) :
|
||||
iommu_feature_disable(iommu, CONTROL_PASSPW_EN);
|
||||
|
||||
h->flags & IVHD_FLAG_RESPASSPW_EN ?
|
||||
h->flags & IVHD_FLAG_RESPASSPW_EN_MASK ?
|
||||
iommu_feature_enable(iommu, CONTROL_RESPASSPW_EN) :
|
||||
iommu_feature_disable(iommu, CONTROL_RESPASSPW_EN);
|
||||
|
||||
h->flags & IVHD_FLAG_ISOC_EN ?
|
||||
h->flags & IVHD_FLAG_ISOC_EN_MASK ?
|
||||
iommu_feature_enable(iommu, CONTROL_ISOC_EN) :
|
||||
iommu_feature_disable(iommu, CONTROL_ISOC_EN);
|
||||
|
||||
|
@ -1203,6 +1203,8 @@ void __cpuinit cpu_init(void)
|
||||
load_TR_desc();
|
||||
load_LDT(&init_mm.context);
|
||||
|
||||
t->x86_tss.io_bitmap_base = offsetof(struct tss_struct, io_bitmap);
|
||||
|
||||
#ifdef CONFIG_DOUBLEFAULT
|
||||
/* Set up doublefault TSS pointer in the GDT */
|
||||
__set_tss_desc(cpu, GDT_ENTRY_DOUBLEFAULT_TSS, &doublefault_tss);
|
||||
|
@ -14,7 +14,7 @@ static void show_cpuinfo_core(struct seq_file *m, struct cpuinfo_x86 *c,
|
||||
if (c->x86_max_cores * smp_num_siblings > 1) {
|
||||
seq_printf(m, "physical id\t: %d\n", c->phys_proc_id);
|
||||
seq_printf(m, "siblings\t: %d\n",
|
||||
cpumask_weight(cpu_sibling_mask(cpu)));
|
||||
cpumask_weight(cpu_core_mask(cpu)));
|
||||
seq_printf(m, "core id\t\t: %d\n", c->cpu_core_id);
|
||||
seq_printf(m, "cpu cores\t: %d\n", c->booted_cores);
|
||||
seq_printf(m, "apicid\t\t: %d\n", c->apicid);
|
||||
|
@ -104,11 +104,13 @@ notrace int __vdso_gettimeofday(struct timeval *tv, struct timezone *tz)
|
||||
{
|
||||
long ret;
|
||||
if (likely(gtod->sysctl_enabled && gtod->clock.vread)) {
|
||||
BUILD_BUG_ON(offsetof(struct timeval, tv_usec) !=
|
||||
offsetof(struct timespec, tv_nsec) ||
|
||||
sizeof(*tv) != sizeof(struct timespec));
|
||||
do_realtime((struct timespec *)tv);
|
||||
tv->tv_usec /= 1000;
|
||||
if (likely(tv != NULL)) {
|
||||
BUILD_BUG_ON(offsetof(struct timeval, tv_usec) !=
|
||||
offsetof(struct timespec, tv_nsec) ||
|
||||
sizeof(*tv) != sizeof(struct timespec));
|
||||
do_realtime((struct timespec *)tv);
|
||||
tv->tv_usec /= 1000;
|
||||
}
|
||||
if (unlikely(tz != NULL)) {
|
||||
/* Avoid memcpy. Some old compilers fail to inline it */
|
||||
tz->tz_minuteswest = gtod->sys_tz.tz_minuteswest;
|
||||
|
Loading…
Reference in New Issue
Block a user