diff options
Diffstat (limited to 'sys/i386')
| -rw-r--r-- | sys/i386/conf/NOTES | 7 | ||||
| -rw-r--r-- | sys/i386/i386/elf_machdep.c | 12 | ||||
| -rw-r--r-- | sys/i386/i386/in_cksum_machdep.c | 2 | ||||
| -rw-r--r-- | sys/i386/include/kexec.h | 38 | ||||
| -rw-r--r-- | sys/i386/linux/linux_sysvec.c | 12 | 
5 files changed, 58 insertions, 13 deletions
diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES index 93dc00634cc0..fbcea76527db 100644 --- a/sys/i386/conf/NOTES +++ b/sys/i386/conf/NOTES @@ -302,6 +302,13 @@ envvar		hint.pcf.0.irq="5"  #  device		glxsb		# AMD Geode LX Security Block +# +# padlock is a driver for the cryptographic functions and RNG in +# VIA C3, C7, and Eden processors. +# Requires 'device crypto'. +# +device		padlock_rng	# VIA Padlock RNG +  #####################################################################  # ABI Emulation diff --git a/sys/i386/i386/elf_machdep.c b/sys/i386/i386/elf_machdep.c index 13769af0fbca..14c942942d08 100644 --- a/sys/i386/i386/elf_machdep.c +++ b/sys/i386/i386/elf_machdep.c @@ -92,7 +92,7 @@ struct sysentvec elf32_freebsd_sysvec = {  };  INIT_SYSENTVEC(elf32_sysvec, &elf32_freebsd_sysvec); -static Elf32_Brandinfo freebsd_brand_info = { +static const Elf32_Brandinfo freebsd_brand_info = {  	.brand		= ELFOSABI_FREEBSD,  	.machine	= EM_386,  	.compat_3_brand	= "FreeBSD", @@ -103,11 +103,11 @@ static Elf32_Brandinfo freebsd_brand_info = {  	.flags		= BI_CAN_EXEC_DYN | BI_BRAND_NOTE  }; -SYSINIT(elf32, SI_SUB_EXEC, SI_ORDER_FIRST, +C_SYSINIT(elf32, SI_SUB_EXEC, SI_ORDER_FIRST,  	(sysinit_cfunc_t) elf32_insert_brand_entry,  	&freebsd_brand_info); -static Elf32_Brandinfo freebsd_brand_oinfo = { +static const Elf32_Brandinfo freebsd_brand_oinfo = {  	.brand		= ELFOSABI_FREEBSD,  	.machine	= EM_386,  	.compat_3_brand	= "FreeBSD", @@ -118,11 +118,11 @@ static Elf32_Brandinfo freebsd_brand_oinfo = {  	.flags		= BI_CAN_EXEC_DYN | BI_BRAND_NOTE  }; -SYSINIT(oelf32, SI_SUB_EXEC, SI_ORDER_ANY, +C_SYSINIT(oelf32, SI_SUB_EXEC, SI_ORDER_ANY,  	(sysinit_cfunc_t) elf32_insert_brand_entry,  	&freebsd_brand_oinfo); -static Elf32_Brandinfo kfreebsd_brand_info = { +static const Elf32_Brandinfo kfreebsd_brand_info = {  	.brand		= ELFOSABI_FREEBSD,  	.machine	= EM_386,  	.compat_3_brand	= "FreeBSD", @@ -133,7 +133,7 @@ static Elf32_Brandinfo kfreebsd_brand_info = {  	.flags		= BI_CAN_EXEC_DYN | BI_BRAND_NOTE_MANDATORY  }; -SYSINIT(kelf32, SI_SUB_EXEC, SI_ORDER_ANY, +C_SYSINIT(kelf32, SI_SUB_EXEC, SI_ORDER_ANY,  	(sysinit_cfunc_t) elf32_insert_brand_entry,  	&kfreebsd_brand_info); diff --git a/sys/i386/i386/in_cksum_machdep.c b/sys/i386/i386/in_cksum_machdep.c index 27ab09d82da0..b658d85bc892 100644 --- a/sys/i386/i386/in_cksum_machdep.c +++ b/sys/i386/i386/in_cksum_machdep.c @@ -84,7 +84,7 @@ in_cksum_skip(struct mbuf *m, int len, int skip)  		}  	} -	for (;m && len; m = m->m_next) { +	for (; m && len; m = m->m_next) {  		if (m->m_len == 0)  			continue;  		w = mtod(m, u_short *); diff --git a/sys/i386/include/kexec.h b/sys/i386/include/kexec.h new file mode 100644 index 000000000000..9fbdef38ad2e --- /dev/null +++ b/sys/i386/include/kexec.h @@ -0,0 +1,38 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2025 Juniper Networks, Inc. + * + * 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 AUTHOR 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 AUTHOR 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. + */ + +#ifndef	_I386_KEXEC_H_ +#define	_I386_KEXEC_H_ + +int +kexec_load_md(struct kexec_image *image) +{ +	return (ENOSYS); +} + +#define	kexec_reboot_md(x) do {} while (0) +#endif /* _I386_KEXEC_H_ */ diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c index 85877bf40997..14b5f64388d2 100644 --- a/sys/i386/linux/linux_sysvec.c +++ b/sys/i386/linux/linux_sysvec.c @@ -796,7 +796,7 @@ linux_vdso_reloc(char *mapping, Elf_Addr offset)  	}  } -static Elf_Brandnote linux_brandnote = { +static const Elf_Brandnote linux_brandnote = {  	.hdr.n_namesz	= sizeof(GNU_ABI_VENDOR),  	.hdr.n_descsz	= 16,	/* XXX at least 16 */  	.hdr.n_type	= 1, @@ -805,7 +805,7 @@ static Elf_Brandnote linux_brandnote = {  	.trans_osrel	= linux_trans_osrel  }; -static Elf32_Brandinfo linux_brand = { +static const Elf32_Brandinfo linux_brand = {  	.brand		= ELFOSABI_LINUX,  	.machine	= EM_386,  	.compat_3_brand	= "Linux", @@ -816,7 +816,7 @@ static Elf32_Brandinfo linux_brand = {  	.flags		= BI_CAN_EXEC_DYN | BI_BRAND_NOTE  }; -static Elf32_Brandinfo linux_glibc2brand = { +static const Elf32_Brandinfo linux_glibc2brand = {  	.brand		= ELFOSABI_LINUX,  	.machine	= EM_386,  	.compat_3_brand	= "Linux", @@ -827,7 +827,7 @@ static Elf32_Brandinfo linux_glibc2brand = {  	.flags		= BI_CAN_EXEC_DYN | BI_BRAND_NOTE  }; -static Elf32_Brandinfo linux_muslbrand = { +static const Elf32_Brandinfo linux_muslbrand = {  	.brand		= ELFOSABI_LINUX,  	.machine	= EM_386,  	.compat_3_brand	= "Linux", @@ -839,7 +839,7 @@ static Elf32_Brandinfo linux_muslbrand = {  			    LINUX_BI_FUTEX_REQUEUE  }; -Elf32_Brandinfo *linux_brandlist[] = { +const Elf32_Brandinfo *linux_brandlist[] = {  	&linux_brand,  	&linux_glibc2brand,  	&linux_muslbrand, @@ -849,7 +849,7 @@ Elf32_Brandinfo *linux_brandlist[] = {  static int  linux_elf_modevent(module_t mod, int type, void *data)  { -	Elf32_Brandinfo **brandinfo; +	const Elf32_Brandinfo **brandinfo;  	int error;  	struct linux_ioctl_handler **lihp;  | 
