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

hvcserver.h (1473B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 * hvcserver.h
      4 * Copyright (C) 2004 Ryan S Arnold, IBM Corporation
      5 *
      6 * PPC64 virtual I/O console server support.
      7 */
      8
      9#ifndef _PPC64_HVCSERVER_H
     10#define _PPC64_HVCSERVER_H
     11#ifdef __KERNEL__
     12
     13#include <linux/list.h>
     14
     15/* Converged Location Code length */
     16#define HVCS_CLC_LENGTH	79
     17
     18/**
     19 * hvcs_partner_info - an element in a list of partner info
     20 * @node: list_head denoting this partner_info struct's position in the list of
     21 *	partner info.
     22 * @unit_address: The partner unit address of this entry.
     23 * @partition_ID: The partner partition ID of this entry.
     24 * @location_code: The converged location code of this entry + 1 char for the
     25 *	null-term.
     26 *
     27 * This structure outlines the format that partner info is presented to a caller
     28 * of the hvcs partner info fetching functions.  These are strung together into
     29 * a list using linux kernel lists.
     30 */
     31struct hvcs_partner_info {
     32	struct list_head node;
     33	uint32_t unit_address;
     34	uint32_t partition_ID;
     35	char location_code[HVCS_CLC_LENGTH + 1]; /* CLC + 1 null-term char */
     36};
     37
     38extern int hvcs_free_partner_info(struct list_head *head);
     39extern int hvcs_get_partner_info(uint32_t unit_address,
     40		struct list_head *head, unsigned long *pi_buff);
     41extern int hvcs_register_connection(uint32_t unit_address,
     42		uint32_t p_partition_ID, uint32_t p_unit_address);
     43extern int hvcs_free_connection(uint32_t unit_address);
     44
     45#endif /* __KERNEL__ */
     46#endif /* _PPC64_HVCSERVER_H */