cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

aspeed-lpc-ctrl.h (1795B)


      1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
      2/*
      3 * Copyright 2017 IBM Corp.
      4 *
      5 * This program is free software; you can redistribute it and/or
      6 * modify it under the terms of the GNU General Public License
      7 * as published by the Free Software Foundation; either version
      8 * 2 of the License, or (at your option) any later version.
      9 */
     10
     11#ifndef _UAPI_LINUX_ASPEED_LPC_CTRL_H
     12#define _UAPI_LINUX_ASPEED_LPC_CTRL_H
     13
     14#include <linux/ioctl.h>
     15#include <linux/types.h>
     16
     17/* Window types */
     18#define ASPEED_LPC_CTRL_WINDOW_FLASH	1
     19#define ASPEED_LPC_CTRL_WINDOW_MEMORY	2
     20
     21/*
     22 * This driver provides a window for the host to access a BMC resource
     23 * across the BMC <-> Host LPC bus.
     24 *
     25 * window_type: The BMC resource that the host will access through the
     26 * window. BMC flash and BMC RAM.
     27 *
     28 * window_id: For each window type there may be multiple windows,
     29 * these are referenced by ID.
     30 *
     31 * flags: Reserved for future use, this field is expected to be
     32 * zeroed.
     33 *
     34 * addr: Address on the host LPC bus that the specified window should
     35 * be mapped. This address must be power of two aligned.
     36 *
     37 * offset: Offset into the BMC window that should be mapped to the
     38 * host (at addr). This must be a multiple of size.
     39 *
     40 * size: The size of the mapping. The smallest possible size is 64K.
     41 * This must be power of two aligned.
     42 *
     43 */
     44
     45struct aspeed_lpc_ctrl_mapping {
     46	__u8	window_type;
     47	__u8	window_id;
     48	__u16	flags;
     49	__u32	addr;
     50	__u32	offset;
     51	__u32	size;
     52};
     53
     54#define __ASPEED_LPC_CTRL_IOCTL_MAGIC	0xb2
     55
     56#define ASPEED_LPC_CTRL_IOCTL_GET_SIZE	_IOWR(__ASPEED_LPC_CTRL_IOCTL_MAGIC, \
     57		0x00, struct aspeed_lpc_ctrl_mapping)
     58
     59#define ASPEED_LPC_CTRL_IOCTL_MAP	_IOW(__ASPEED_LPC_CTRL_IOCTL_MAGIC, \
     60		0x01, struct aspeed_lpc_ctrl_mapping)
     61
     62#endif /* _UAPI_LINUX_ASPEED_LPC_CTRL_H */