Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Aug 2014 19:51:08 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r270296 - in stable/10/sys: ia64/acpica ia64/ia64 ia64/include sys
Message-ID:  <201408211951.s7LJp8uJ052951@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: emaste
Date: Thu Aug 21 19:51:07 2014
New Revision: 270296
URL: http://svnweb.freebsd.org/changeset/base/270296

Log:
  MFC r263815, r263872:
  
    Move ia64 efi.h to sys in preparation for amd64 UEFI support
  
      Prototypes specific to ia64 have been left in this file for now, under
      __ia64__, rather than moving them to a new header under sys/ia64.
      I anticipate that (some of) the corresponding functions will be shared
      by the amd64, arm64, i386, and ia64 architectures, and we can adjust
      this as EFI support on other than ia64 continues to develop.
  
    Fix missed efi.h header change in r263815
  
  Sponsored by:	The FreeBSD Foundation

Added:
  stable/10/sys/sys/efi.h
     - copied unchanged from r263815, head/sys/sys/efi.h
Deleted:
  stable/10/sys/ia64/include/efi.h
Modified:
  stable/10/sys/ia64/acpica/OsdEnvironment.c
  stable/10/sys/ia64/ia64/clock.c
  stable/10/sys/ia64/ia64/dump_machdep.c
  stable/10/sys/ia64/ia64/efi.c
  stable/10/sys/ia64/ia64/iodev_machdep.c
  stable/10/sys/ia64/ia64/machdep.c
  stable/10/sys/ia64/ia64/mem.c
  stable/10/sys/ia64/ia64/nexus.c
  stable/10/sys/ia64/ia64/pmap.c
  stable/10/sys/ia64/ia64/sal.c
  stable/10/sys/ia64/ia64/trap.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/ia64/acpica/OsdEnvironment.c
==============================================================================
--- stable/10/sys/ia64/acpica/OsdEnvironment.c	Thu Aug 21 19:45:54 2014	(r270295)
+++ stable/10/sys/ia64/acpica/OsdEnvironment.c	Thu Aug 21 19:51:07 2014	(r270296)
@@ -29,8 +29,8 @@
 __FBSDID("$FreeBSD$");
 
 #include <sys/types.h>
+#include <sys/efi.h>
 #include <sys/sysctl.h>
-#include <machine/efi.h>
 
 #include <contrib/dev/acpica/include/acpi.h>
 

Modified: stable/10/sys/ia64/ia64/clock.c
==============================================================================
--- stable/10/sys/ia64/ia64/clock.c	Thu Aug 21 19:45:54 2014	(r270295)
+++ stable/10/sys/ia64/ia64/clock.c	Thu Aug 21 19:51:07 2014	(r270296)
@@ -30,6 +30,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/param.h>
 #include <sys/kernel.h>
 #include <sys/bus.h>
+#include <sys/efi.h>
 #include <sys/interrupt.h>
 #include <sys/priority.h>
 #include <sys/proc.h>
@@ -41,7 +42,6 @@ __FBSDID("$FreeBSD$");
 #include <sys/pcpu.h>
 
 #include <machine/cpu.h>
-#include <machine/efi.h>
 #include <machine/intr.h>
 #include <machine/intrcnt.h>
 #include <machine/md_var.h>

Modified: stable/10/sys/ia64/ia64/dump_machdep.c
==============================================================================
--- stable/10/sys/ia64/ia64/dump_machdep.c	Thu Aug 21 19:45:54 2014	(r270295)
+++ stable/10/sys/ia64/ia64/dump_machdep.c	Thu Aug 21 19:51:07 2014	(r270296)
@@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/systm.h>
 #include <sys/conf.h>
 #include <sys/cons.h>
+#include <sys/efi.h>
 #include <sys/kernel.h>
 #include <sys/kerneldump.h>
 #ifdef SW_WATCHDOG
@@ -41,7 +42,6 @@ __FBSDID("$FreeBSD$");
 #include <vm/vm.h>
 #include <vm/pmap.h>
 #include <machine/bootinfo.h>
-#include <machine/efi.h>
 #include <machine/elf.h>
 #include <machine/md_var.h>
 

Modified: stable/10/sys/ia64/ia64/efi.c
==============================================================================
--- stable/10/sys/ia64/ia64/efi.c	Thu Aug 21 19:45:54 2014	(r270295)
+++ stable/10/sys/ia64/ia64/efi.c	Thu Aug 21 19:51:07 2014	(r270296)
@@ -29,9 +29,9 @@
 __FBSDID("$FreeBSD$");
 
 #include <sys/param.h>
+#include <sys/efi.h>
 #include <sys/systm.h>
 #include <machine/bootinfo.h>
-#include <machine/efi.h>
 #include <machine/md_var.h>
 #include <machine/sal.h>
 #include <vm/vm.h>

Modified: stable/10/sys/ia64/ia64/iodev_machdep.c
==============================================================================
--- stable/10/sys/ia64/ia64/iodev_machdep.c	Thu Aug 21 19:45:54 2014	(r270295)
+++ stable/10/sys/ia64/ia64/iodev_machdep.c	Thu Aug 21 19:51:07 2014	(r270296)
@@ -29,6 +29,7 @@ __FBSDID("$FreeBSD$");
 
 #include <sys/param.h>
 #include <sys/conf.h>
+#include <sys/efi.h>
 #include <sys/fcntl.h>
 #include <sys/ioccom.h>
 #include <sys/malloc.h>
@@ -37,7 +38,6 @@ __FBSDID("$FreeBSD$");
 #include <sys/systm.h>
 
 #include <machine/bus.h>
-#include <machine/efi.h>
 #include <machine/iodev.h>
 
 static int iodev_efivar_getvar(struct iodev_efivar_req *req);

Modified: stable/10/sys/ia64/ia64/machdep.c
==============================================================================
--- stable/10/sys/ia64/ia64/machdep.c	Thu Aug 21 19:45:54 2014	(r270295)
+++ stable/10/sys/ia64/ia64/machdep.c	Thu Aug 21 19:51:07 2014	(r270296)
@@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/bus.h>
 #include <sys/cons.h>
 #include <sys/cpu.h>
+#include <sys/efi.h>
 #include <sys/eventhandler.h>
 #include <sys/exec.h>
 #include <sys/imgact.h>
@@ -83,7 +84,6 @@ __FBSDID("$FreeBSD$");
 
 #include <machine/bootinfo.h>
 #include <machine/cpu.h>
-#include <machine/efi.h>
 #include <machine/elf.h>
 #include <machine/fpu.h>
 #include <machine/intr.h>

Modified: stable/10/sys/ia64/ia64/mem.c
==============================================================================
--- stable/10/sys/ia64/ia64/mem.c	Thu Aug 21 19:45:54 2014	(r270295)
+++ stable/10/sys/ia64/ia64/mem.c	Thu Aug 21 19:51:07 2014	(r270296)
@@ -45,13 +45,13 @@ __FBSDID("$FreeBSD$");
 
 #include <sys/param.h>
 #include <sys/conf.h>
+#include <sys/efi.h>
 #include <sys/fcntl.h>
 #include <sys/kernel.h>
 #include <sys/malloc.h>
 #include <sys/memrange.h>
 #include <sys/systm.h>
 #include <sys/uio.h>
-#include <machine/efi.h>
 
 #include <vm/vm.h>
 #include <vm/pmap.h>

Modified: stable/10/sys/ia64/ia64/nexus.c
==============================================================================
--- stable/10/sys/ia64/ia64/nexus.c	Thu Aug 21 19:45:54 2014	(r270295)
+++ stable/10/sys/ia64/ia64/nexus.c	Thu Aug 21 19:51:07 2014	(r270296)
@@ -44,6 +44,7 @@
 #include <sys/systm.h>
 #include <sys/bus.h>
 #include <sys/clock.h>
+#include <sys/efi.h>
 #include <sys/kernel.h>
 #include <sys/malloc.h>
 #include <sys/module.h>
@@ -55,7 +56,6 @@
 #include <vm/vm.h>
 #include <vm/pmap.h>
 
-#include <machine/efi.h>
 #include <machine/intr.h>
 #include <machine/pmap.h>
 #include <machine/resource.h>

Modified: stable/10/sys/ia64/ia64/pmap.c
==============================================================================
--- stable/10/sys/ia64/ia64/pmap.c	Thu Aug 21 19:45:54 2014	(r270295)
+++ stable/10/sys/ia64/ia64/pmap.c	Thu Aug 21 19:51:07 2014	(r270296)
@@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$");
 #include "opt_pmap.h"
 
 #include <sys/param.h>
+#include <sys/efi.h>
 #include <sys/kernel.h>
 #include <sys/ktr.h>
 #include <sys/lock.h>
@@ -71,7 +72,6 @@ __FBSDID("$FreeBSD$");
 #include <vm/uma.h>
 
 #include <machine/bootinfo.h>
-#include <machine/efi.h>
 #include <machine/md_var.h>
 #include <machine/pal.h>
 

Modified: stable/10/sys/ia64/ia64/sal.c
==============================================================================
--- stable/10/sys/ia64/ia64/sal.c	Thu Aug 21 19:45:54 2014	(r270295)
+++ stable/10/sys/ia64/ia64/sal.c	Thu Aug 21 19:51:07 2014	(r270296)
@@ -30,11 +30,11 @@ __FBSDID("$FreeBSD$");
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/bus.h>
+#include <sys/efi.h>
 #include <sys/kernel.h>
 #include <sys/malloc.h>
 #include <vm/vm.h>
 #include <vm/vm_kern.h>
-#include <machine/efi.h>
 #include <machine/intr.h>
 #include <machine/md_var.h>
 #include <machine/sal.h>

Modified: stable/10/sys/ia64/ia64/trap.c
==============================================================================
--- stable/10/sys/ia64/ia64/trap.c	Thu Aug 21 19:45:54 2014	(r270295)
+++ stable/10/sys/ia64/ia64/trap.c	Thu Aug 21 19:51:07 2014	(r270296)
@@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/sysproto.h>
 #include <sys/kernel.h>
 #include <sys/proc.h>
+#include <sys/efi.h>
 #include <sys/exec.h>
 #include <sys/lock.h>
 #include <sys/mutex.h>
@@ -60,7 +61,6 @@ __FBSDID("$FreeBSD$");
 #include <machine/reg.h>
 #include <machine/pal.h>
 #include <machine/fpu.h>
-#include <machine/efi.h>
 #include <machine/pcb.h>
 #ifdef SMP
 #include <machine/smp.h>

Copied: stable/10/sys/sys/efi.h (from r263815, head/sys/sys/efi.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/10/sys/sys/efi.h	Thu Aug 21 19:51:07 2014	(r270296, copy of r263815, head/sys/sys/efi.h)
@@ -0,0 +1,177 @@
+/*-
+ * Copyright (c) 2004 Marcel Moolenaar
+ * All rights reserved.
+ *
+ * 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 ``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 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.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _SYS_EFI_H_
+#define _SYS_EFI_H_
+
+#include <sys/uuid.h>
+
+#define	EFI_PAGE_SHIFT		12
+#define	EFI_PAGE_SIZE		(1 << EFI_PAGE_SHIFT)
+#define	EFI_PAGE_MASK		(EFI_PAGE_SIZE - 1)
+
+#define	EFI_TABLE_ACPI20			\
+	{0x8868e871,0xe4f1,0x11d3,0xbc,0x22,{0x00,0x80,0xc7,0x3c,0x88,0x81}}
+#define	EFI_TABLE_SAL				\
+	{0xeb9d2d32,0x2d88,0x11d3,0x9a,0x16,{0x00,0x90,0x27,0x3f,0xc1,0x4d}}
+
+enum efi_reset {
+	EFI_RESET_COLD,
+	EFI_RESET_WARM
+};
+
+typedef uint16_t	efi_char;
+typedef unsigned long efi_status;
+
+struct efi_cfgtbl {
+	struct uuid	ct_uuid;
+	uint64_t	ct_data;
+};
+
+struct efi_md {
+	uint32_t	md_type;
+#define	EFI_MD_TYPE_NULL	0
+#define	EFI_MD_TYPE_CODE	1	/* Loader text. */
+#define	EFI_MD_TYPE_DATA	2	/* Loader data. */
+#define	EFI_MD_TYPE_BS_CODE	3	/* Boot services text. */
+#define	EFI_MD_TYPE_BS_DATA	4	/* Boot services data. */
+#define	EFI_MD_TYPE_RT_CODE	5	/* Runtime services text. */
+#define	EFI_MD_TYPE_RT_DATA	6	/* Runtime services data. */
+#define	EFI_MD_TYPE_FREE	7	/* Unused/free memory. */
+#define	EFI_MD_TYPE_BAD		8	/* Bad memory */
+#define	EFI_MD_TYPE_RECLAIM	9	/* ACPI reclaimable memory. */
+#define	EFI_MD_TYPE_FIRMWARE	10	/* ACPI NV memory */
+#define	EFI_MD_TYPE_IOMEM	11	/* Memory-mapped I/O. */
+#define	EFI_MD_TYPE_IOPORT	12	/* I/O port space. */
+#define	EFI_MD_TYPE_PALCODE	13	/* PAL */
+	uint32_t	__pad;
+	uint64_t	md_phys;
+	void		*md_virt;
+	uint64_t	md_pages;
+	uint64_t	md_attr;
+#define	EFI_MD_ATTR_UC		0x0000000000000001UL
+#define	EFI_MD_ATTR_WC		0x0000000000000002UL
+#define	EFI_MD_ATTR_WT		0x0000000000000004UL
+#define	EFI_MD_ATTR_WB		0x0000000000000008UL
+#define	EFI_MD_ATTR_UCE		0x0000000000000010UL
+#define	EFI_MD_ATTR_WP		0x0000000000001000UL
+#define	EFI_MD_ATTR_RP		0x0000000000002000UL
+#define	EFI_MD_ATTR_XP		0x0000000000004000UL
+#define	EFI_MD_ATTR_RT		0x8000000000000000UL
+};
+
+struct efi_tm {
+	uint16_t	tm_year;		/* 1998 - 20XX */
+	uint8_t		tm_mon;			/* 1 - 12 */
+	uint8_t		tm_mday;		/* 1 - 31 */
+	uint8_t		tm_hour;		/* 0 - 23 */
+	uint8_t		tm_min;			/* 0 - 59 */
+	uint8_t		tm_sec;			/* 0 - 59 */
+	uint8_t		__pad1;
+	uint32_t	tm_nsec;		/* 0 - 999,999,999 */
+	int16_t		tm_tz;			/* -1440 to 1440 or 2047 */
+	uint8_t		tm_dst;
+	uint8_t		__pad2;
+};
+
+struct efi_tmcap {
+	uint32_t	tc_res;		/* 1e-6 parts per million */
+	uint32_t	tc_prec;	/* hertz */
+	uint8_t		tc_stz;		/* Set clears sub-second time */
+};
+
+struct efi_tblhdr {
+	uint64_t	th_sig;
+	uint32_t	th_rev;
+	uint32_t	th_hdrsz;
+	uint32_t	th_crc32;
+	uint32_t	__res;
+};
+
+struct efi_rt {
+	struct efi_tblhdr rt_hdr;
+	efi_status	(*rt_gettime)(struct efi_tm *, struct efi_tmcap *);
+	efi_status	(*rt_settime)(struct efi_tm *);
+	efi_status	(*rt_getwaketime)(uint8_t *, uint8_t *,
+	    struct efi_tm *);
+	efi_status	(*rt_setwaketime)(uint8_t, struct efi_tm *);
+	efi_status	(*rt_setvirtual)(u_long, u_long, uint32_t,
+	    struct efi_md *);
+	efi_status	(*rt_cvtptr)(u_long, void **);
+	efi_status	(*rt_getvar)(efi_char *, struct uuid *, uint32_t *,
+	    u_long *, void *);
+	efi_status	(*rt_scanvar)(u_long *, efi_char *, struct uuid *);
+	efi_status	(*rt_setvar)(efi_char *, struct uuid *, uint32_t,
+	    u_long, void *);
+	efi_status	(*rt_gethicnt)(uint32_t *);
+	efi_status	(*rt_reset)(enum efi_reset, efi_status, u_long,
+	    efi_char *);
+};
+
+struct efi_systbl {
+	struct efi_tblhdr st_hdr;
+#define	EFI_SYSTBL_SIG	0x5453595320494249UL
+	efi_char	*st_fwvendor;
+	uint32_t	st_fwrev;
+	uint32_t	__pad;
+	void		*st_cin;
+	void		*st_cinif;
+	void		*st_cout;
+	void		*st_coutif;
+	void		*st_cerr;
+	void		*st_cerrif;
+	uint64_t	st_rt;
+	void		*st_bs;
+	u_long		st_entries;
+	uint64_t	st_cfgtbl;
+};
+
+#if defined(_KERNEL) && defined(__ia64__)
+
+typedef u_long (*ia64_efi_f)(u_long, u_long, u_long, u_long);
+
+u_long ia64_efi_physical(ia64_efi_f, u_long, u_long, u_long, u_long);
+
+void efi_boot_finish(void);
+int efi_boot_minimal(uint64_t);
+void *efi_get_table(struct uuid *);
+void efi_get_time(struct efi_tm *);
+struct efi_md *efi_md_find(vm_paddr_t);
+struct efi_md *efi_md_first(void);
+struct efi_md *efi_md_last(void);
+struct efi_md *efi_md_next(struct efi_md *);
+struct efi_md *efi_md_prev(struct efi_md *);
+void efi_reset_system(void);
+int efi_set_time(struct efi_tm *);
+int efi_var_get(efi_char *, struct uuid *, uint32_t *, size_t *, void *);
+int efi_var_nextname(size_t *, efi_char *, struct uuid *);
+int efi_var_set(efi_char *, struct uuid *, uint32_t, size_t, void *);
+
+#endif /* _KERNEL && __ia64__ */
+
+#endif /* _SYS_EFI_H_ */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201408211951.s7LJp8uJ052951>