linux/arch/tile/include/asm/hardwall.h
<<
>>
Prefs
   1/*
   2 * Copyright 2010 Tilera Corporation. All Rights Reserved.
   3 *
   4 *   This program is free software; you can redistribute it and/or
   5 *   modify it under the terms of the GNU General Public License
   6 *   as published by the Free Software Foundation, version 2.
   7 *
   8 *   This program is distributed in the hope that it will be useful, but
   9 *   WITHOUT ANY WARRANTY; without even the implied warranty of
  10 *   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
  11 *   NON INFRINGEMENT.  See the GNU General Public License for
  12 *   more details.
  13 *
  14 * Provide methods for the HARDWALL_FILE for accessing the UDN.
  15 */
  16
  17#ifndef _ASM_TILE_HARDWALL_H
  18#define _ASM_TILE_HARDWALL_H
  19
  20#include <linux/ioctl.h>
  21
  22#define HARDWALL_IOCTL_BASE 0xa2
  23
  24/*
  25 * The HARDWALL_CREATE() ioctl is a macro with a "size" argument.
  26 * The resulting ioctl value is passed to the kernel in conjunction
  27 * with a pointer to a little-endian bitmask of cpus, which must be
  28 * physically in a rectangular configuration on the chip.
  29 * The "size" is the number of bytes of cpu mask data.
  30 */
  31#define _HARDWALL_CREATE 1
  32#define HARDWALL_CREATE(size) \
  33  _IOC(_IOC_READ, HARDWALL_IOCTL_BASE, _HARDWALL_CREATE, (size))
  34
  35#define _HARDWALL_ACTIVATE 2
  36#define HARDWALL_ACTIVATE \
  37  _IO(HARDWALL_IOCTL_BASE, _HARDWALL_ACTIVATE)
  38
  39#define _HARDWALL_DEACTIVATE 3
  40#define HARDWALL_DEACTIVATE \
  41 _IO(HARDWALL_IOCTL_BASE, _HARDWALL_DEACTIVATE)
  42
  43#ifndef __KERNEL__
  44
  45/* This is the canonical name expected by userspace. */
  46#define HARDWALL_FILE "/dev/hardwall"
  47
  48#else
  49
  50/* Hook for /proc/tile/hardwall. */
  51struct seq_file;
  52int proc_tile_hardwall_show(struct seq_file *sf, void *v);
  53
  54#endif
  55
  56#endif /* _ASM_TILE_HARDWALL_H */
  57