Module Name: src Committed By: pgoyette Date: Sun Mar 18 00:35:26 UTC 2018
Modified Files: src/sys/arch/x86/conf [pgoyette-compat]: files.x86 src/sys/arch/x86/x86 [pgoyette-compat]: cpu_ucode.c src/sys/arch/xen/conf [pgoyette-compat]: files.xen Added Files: src/sys/arch/x86/x86 [pgoyette-compat]: compat_60_cpu_ucode.c Log Message: Import more christos@ changes from -current To generate a diff of this commit: cvs rdiff -u -r1.97 -r1.97.2.1 src/sys/arch/x86/conf/files.x86 cvs rdiff -u -r0 -r1.1.2.2 src/sys/arch/x86/x86/compat_60_cpu_ucode.c cvs rdiff -u -r1.5.16.3 -r1.5.16.4 src/sys/arch/x86/x86/cpu_ucode.c cvs rdiff -u -r1.165.2.1 -r1.165.2.2 src/sys/arch/xen/conf/files.xen Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/x86/conf/files.x86 diff -u src/sys/arch/x86/conf/files.x86:1.97 src/sys/arch/x86/conf/files.x86:1.97.2.1 --- src/sys/arch/x86/conf/files.x86:1.97 Thu Mar 1 06:36:12 2018 +++ src/sys/arch/x86/conf/files.x86 Sun Mar 18 00:35:26 2018 @@ -1,4 +1,4 @@ -# $NetBSD: files.x86,v 1.97 2018/03/01 06:36:12 mrg Exp $ +# $NetBSD: files.x86,v 1.97.2.1 2018/03/18 00:35:26 pgoyette Exp $ # options for MP configuration through the MP spec defflag opt_mpbios.h MPBIOS MPVERBOSE MPDEBUG MPBIOS_SCANPCI @@ -111,6 +111,7 @@ file uvm/pmap/pmap_pvt.c machdep file arch/x86/x86/cpu_ucode.c cpu_ucode needs-flag file arch/x86/x86/cpu_ucode_amd.c cpu_ucode needs-flag file arch/x86/x86/cpu_ucode_intel.c cpu_ucode needs-flag +file arch/x86/x86/compat_60_cpu_ucode.c compat_60 & cpu_ucode define lapic file arch/x86/x86/lapic.c lapic needs-flag Index: src/sys/arch/x86/x86/cpu_ucode.c diff -u src/sys/arch/x86/x86/cpu_ucode.c:1.5.16.3 src/sys/arch/x86/x86/cpu_ucode.c:1.5.16.4 --- src/sys/arch/x86/x86/cpu_ucode.c:1.5.16.3 Sat Mar 17 21:37:52 2018 +++ src/sys/arch/x86/x86/cpu_ucode.c Sun Mar 18 00:35:26 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu_ucode.c,v 1.5.16.3 2018/03/17 21:37:52 pgoyette Exp $ */ +/* $NetBSD: cpu_ucode.c,v 1.5.16.4 2018/03/18 00:35:26 pgoyette Exp $ */ /* * Copyright (c) 2012 The NetBSD Foundation, Inc. * All rights reserved. @@ -29,13 +29,11 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: cpu_ucode.c,v 1.5.16.3 2018/03/17 21:37:52 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cpu_ucode.c,v 1.5.16.4 2018/03/18 00:35:26 pgoyette Exp $"); #if defined(_KERNEL_OPT) #include "opt_xen.h" - #include "opt_cpu_ucode.h" -#include "opt_compat_netbsd.h" #endif #include <sys/param.h> @@ -157,36 +155,3 @@ cpu_ucode_apply(const struct cpu_ucode * return error; } #endif - -#ifdef COMPAT_60 -int -compat6_cpu_ucode_get_version(struct compat6_cpu_ucode *data) -{ - struct cpu_ucode_version ndata; - - switch (cpu_vendor) { - case CPUVENDOR_AMD: - ndata.loader_version = CPU_UCODE_LOADER_AMD; - return cpu_ucode_amd_get_version(&ndata, &data->version, - sizeof(data->version)); - default: - return EOPNOTSUPP; - } -} - -int -compat6_cpu_ucode_apply(const struct compat6_cpu_ucode *data6) -{ - - if (cpu_vendor != CPUVENDOR_AMD) - return EOPNOTSUPP; - - struct cpu_ucode data; - - data.loader_version = CPU_UCODE_LOADER_AMD; - data.cpu_nr = CPU_UCODE_ALL_CPUS; - strcpy(data.fwname, data6->fwname); - - return cpu_ucode_apply(&data); -} -#endif /* COMPAT60 */ Index: src/sys/arch/xen/conf/files.xen diff -u src/sys/arch/xen/conf/files.xen:1.165.2.1 src/sys/arch/xen/conf/files.xen:1.165.2.2 --- src/sys/arch/xen/conf/files.xen:1.165.2.1 Sat Mar 17 21:37:52 2018 +++ src/sys/arch/xen/conf/files.xen Sun Mar 18 00:35:26 2018 @@ -1,4 +1,4 @@ -# $NetBSD: files.xen,v 1.165.2.1 2018/03/17 21:37:52 pgoyette Exp $ +# $NetBSD: files.xen,v 1.165.2.2 2018/03/18 00:35:26 pgoyette Exp $ # NetBSD: files.x86,v 1.10 2003/10/08 17:30:00 bouyer Exp # NetBSD: files.i386,v 1.254 2004/03/25 23:32:10 jmc Exp @@ -96,6 +96,8 @@ file arch/xen/x86/xenfunc.c file arch/x86/x86/cpu_ucode.c dom0ops & cpu_ucode needs-flag file arch/x86/x86/cpu_ucode_amd.c dom0ops & cpu_ucode needs-flag file arch/x86/x86/cpu_ucode_intel.c dom0ops & cpu_ucode needs-flag +file arch/x86/x86/compat_60_cpu_ucode.c compat_60 & dom0ops & cpu_ucode + file arch/xen/xen/xen_machdep.c file arch/xen/xen/xen_debug.c Added files: Index: src/sys/arch/x86/x86/compat_60_cpu_ucode.c diff -u /dev/null src/sys/arch/x86/x86/compat_60_cpu_ucode.c:1.1.2.2 --- /dev/null Sun Mar 18 00:35:26 2018 +++ src/sys/arch/x86/x86/compat_60_cpu_ucode.c Sun Mar 18 00:35:26 2018 @@ -0,0 +1,81 @@ +/* $NetBSD: compat_60_cpu_ucode.c,v 1.1.2.2 2018/03/18 00:35:26 pgoyette Exp $ */ +/* + * Copyright (c) 2012 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christoph Egger. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include <sys/cdefs.h> +__KERNEL_RCSID(0, "$NetBSD: compat_60_cpu_ucode.c,v 1.1.2.2 2018/03/18 00:35:26 pgoyette Exp $"); + +#ifdef _KERNEL_OPT +#include "opt_cpu_ucode.h" +#include "opt_compat_netbsd.h" +#endif + +#include <sys/param.h> +#include <sys/cpuio.h> +#include <sys/cpu.h> + +#include <dev/firmload.h> + +#include <machine/cpuvar.h> +#include <machine/cputypes.h> + +#include <x86/cpu_ucode.h> + +#ifdef COMPAT_60 +int +compat6_cpu_ucode_get_version(struct compat6_cpu_ucode *data6) +{ + + if (cpu_vendor != CPUVENDOR_AMD) + return EOPNOTSUPP; + + struct cpu_ucode_version data; + + data.loader_version = CPU_UCODE_LOADER_AMD; + return cpu_ucode_amd_get_version(&data, &data6->version, + sizeof(data6->version)); +} + +int +compat6_cpu_ucode_apply(const struct compat6_cpu_ucode *data6) +{ + + if (cpu_vendor != CPUVENDOR_AMD) + return EOPNOTSUPP; + + struct cpu_ucode data; + + data.loader_version = CPU_UCODE_LOADER_AMD; + data.cpu_nr = CPU_UCODE_ALL_CPUS; + strcpy(data.fwname, data6->fwname); + + return cpu_ucode_apply(&data); +} + +#endif /* COMPAT60 */