efidev.c (331019) | efidev.c (331021) |
---|---|
1/*- 2 * Copyright (c) 2016 Netflix, Inc. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 11 unchanged lines hidden (view full) --- 20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 */ 26 27#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2016 Netflix, Inc. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 11 unchanged lines hidden (view full) --- 20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 */ 26 27#include <sys/cdefs.h> |
28__FBSDID("$FreeBSD: stable/11/sys/dev/efidev/efidev.c 331019 2018-03-15 19:31:39Z kevans $"); | 28__FBSDID("$FreeBSD: stable/11/sys/dev/efidev/efidev.c 331021 2018-03-15 19:41:26Z kevans $"); |
29 30#include <sys/param.h> 31#include <sys/systm.h> 32#include <sys/kernel.h> 33#include <sys/bus.h> 34#include <sys/conf.h> 35#include <sys/lock.h> 36#include <sys/malloc.h> 37#include <sys/module.h> 38 39#include <machine/efi.h> 40#include <sys/efiio.h> 41 | 29 30#include <sys/param.h> 31#include <sys/systm.h> 32#include <sys/kernel.h> 33#include <sys/bus.h> 34#include <sys/conf.h> 35#include <sys/lock.h> 36#include <sys/malloc.h> 37#include <sys/module.h> 38 39#include <machine/efi.h> 40#include <sys/efiio.h> 41 |
42static d_open_t efidev_open; | |
43static d_ioctl_t efidev_ioctl; 44 45static struct cdevsw efi_cdevsw = { 46 .d_name = "efi", 47 .d_version = D_VERSION, | 42static d_ioctl_t efidev_ioctl; 43 44static struct cdevsw efi_cdevsw = { 45 .d_name = "efi", 46 .d_version = D_VERSION, |
48 .d_open = efidev_open, | |
49 .d_ioctl = efidev_ioctl, 50}; 51 52static int | 47 .d_ioctl = efidev_ioctl, 48}; 49 50static int |
53efidev_open(struct cdev *dev __unused, int oflags __unused, 54 int devtype __unused, struct thread *td __unused) 55{ 56 /* 57 * Only return success when we have an actual runtime to call. 58 */ 59 60 return efi_rt_ok(); 61} 62 63static int | |
64efidev_ioctl(struct cdev *dev __unused, u_long cmd, caddr_t addr, 65 int flags __unused, struct thread *td __unused) 66{ 67 int error; 68 69 switch (cmd) { 70 case EFIIOC_GET_TABLE: 71 { --- 118 unchanged lines hidden (view full) --- 190static int 191efidev_modevents(module_t m, int event, void *arg __unused) 192{ 193 struct make_dev_args mda; 194 int error; 195 196 switch (event) { 197 case MOD_LOAD: | 51efidev_ioctl(struct cdev *dev __unused, u_long cmd, caddr_t addr, 52 int flags __unused, struct thread *td __unused) 53{ 54 int error; 55 56 switch (cmd) { 57 case EFIIOC_GET_TABLE: 58 { --- 118 unchanged lines hidden (view full) --- 177static int 178efidev_modevents(module_t m, int event, void *arg __unused) 179{ 180 struct make_dev_args mda; 181 int error; 182 183 switch (event) { 184 case MOD_LOAD: |
185 /* 186 * If we have no efi environment, then don't create the device. 187 */ 188 if (efi_rt_ok() != 0) 189 return (0); |
|
198 make_dev_args_init(&mda); 199 mda.mda_flags = MAKEDEV_WAITOK | MAKEDEV_CHECKNAME; 200 mda.mda_devsw = &efi_cdevsw; 201 mda.mda_uid = UID_ROOT; 202 mda.mda_gid = GID_WHEEL; 203 mda.mda_mode = 0700; 204 error = make_dev_s(&mda, &efidev, "efi"); 205 return (error); --- 24 unchanged lines hidden --- | 190 make_dev_args_init(&mda); 191 mda.mda_flags = MAKEDEV_WAITOK | MAKEDEV_CHECKNAME; 192 mda.mda_devsw = &efi_cdevsw; 193 mda.mda_uid = UID_ROOT; 194 mda.mda_gid = GID_WHEEL; 195 mda.mda_mode = 0700; 196 error = make_dev_s(&mda, &efidev, "efi"); 197 return (error); --- 24 unchanged lines hidden --- |