mirror of
https://github.com/opnsense/src.git
synced 2026-02-20 00:11:07 -05:00
from the .depend files after the build: cp -r ../vendor/edk2/MdePkg/Include sys/contrib/edk2 cd lib/libefivar make pushd `make -V .OBJDIR` cat .depend*.o | grep sys/contrib | cut -d' ' -f 3 | sort -u | sed -e 's=/full/path/sys/contrib/edk2/==' > /tmp/xxx popd cd ../../sys/contrib/edk2 rm -rf Include for i in `cat /tmp/xxx`; do svn cp svn+ssh://repo.freebsd.org/base/vendor/edk2/dist/MdePkg/$i $i done svn cp svn+ssh://repo.freebsd.org/base/vendor/edk2/dist/MdePkg/MdePkg.dec . The original EDK2 repo is ~265MB, the MdePkg is ~23MB, all MdePkg/Includes is ~7MB and this minimal set is ~1.3MB. Sponsored by: Netflix
146 lines
5.2 KiB
C
146 lines
5.2 KiB
C
/** @file
|
|
|
|
The file defines the EFI Debugport protocol.
|
|
This protocol is used by debug agent to communicate with the
|
|
remote debug host.
|
|
|
|
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
|
This program and the accompanying materials
|
|
are licensed and made available under the terms and conditions of the BSD License
|
|
which accompanies this distribution. The full text of the license may be found at
|
|
http://opensource.org/licenses/bsd-license.php
|
|
|
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
|
|
**/
|
|
|
|
#ifndef __DEBUG_PORT_H__
|
|
#define __DEBUG_PORT_H__
|
|
|
|
|
|
///
|
|
/// DebugPortIo protocol {EBA4E8D2-3858-41EC-A281-2647BA9660D0}
|
|
///
|
|
#define EFI_DEBUGPORT_PROTOCOL_GUID \
|
|
{ \
|
|
0xEBA4E8D2, 0x3858, 0x41EC, {0xA2, 0x81, 0x26, 0x47, 0xBA, 0x96, 0x60, 0xD0 } \
|
|
}
|
|
|
|
extern EFI_GUID gEfiDebugPortProtocolGuid;
|
|
|
|
typedef struct _EFI_DEBUGPORT_PROTOCOL EFI_DEBUGPORT_PROTOCOL;
|
|
|
|
//
|
|
// DebugPort member functions
|
|
//
|
|
|
|
/**
|
|
Resets the debugport.
|
|
|
|
@param This A pointer to the EFI_DEBUGPORT_PROTOCOL instance.
|
|
|
|
@retval EFI_SUCCESS The debugport device was reset and is in usable state.
|
|
@retval EFI_DEVICE_ERROR The debugport device could not be reset and is unusable.
|
|
|
|
**/
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *EFI_DEBUGPORT_RESET)(
|
|
IN EFI_DEBUGPORT_PROTOCOL *This
|
|
);
|
|
|
|
/**
|
|
Writes data to the debugport.
|
|
|
|
@param This A pointer to the EFI_DEBUGPORT_PROTOCOL instance.
|
|
@param Timeout The number of microseconds to wait before timing out a write operation.
|
|
@param BufferSize On input, the requested number of bytes of data to write. On output, the
|
|
number of bytes of data actually written.
|
|
@param Buffer A pointer to a buffer containing the data to write.
|
|
|
|
@retval EFI_SUCCESS The data was written.
|
|
@retval EFI_DEVICE_ERROR The device reported an error.
|
|
@retval EFI_TIMEOUT The data write was stopped due to a timeout.
|
|
|
|
**/
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *EFI_DEBUGPORT_WRITE)(
|
|
IN EFI_DEBUGPORT_PROTOCOL *This,
|
|
IN UINT32 Timeout,
|
|
IN OUT UINTN *BufferSize,
|
|
IN VOID *Buffer
|
|
);
|
|
|
|
/**
|
|
Reads data from the debugport.
|
|
|
|
@param This A pointer to the EFI_DEBUGPORT_PROTOCOL instance.
|
|
@param Timeout The number of microseconds to wait before timing out a read operation.
|
|
@param BufferSize On input, the requested number of bytes of data to read. On output, the
|
|
number of bytes of data actually number of bytes
|
|
of data read and returned in Buffer.
|
|
@param Buffer A pointer to a buffer into which the data read will be saved.
|
|
|
|
@retval EFI_SUCCESS The data was read.
|
|
@retval EFI_DEVICE_ERROR The device reported an error.
|
|
@retval EFI_TIMEOUT The operation was stopped due to a timeout or overrun.
|
|
|
|
**/
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *EFI_DEBUGPORT_READ)(
|
|
IN EFI_DEBUGPORT_PROTOCOL *This,
|
|
IN UINT32 Timeout,
|
|
IN OUT UINTN *BufferSize,
|
|
OUT VOID *Buffer
|
|
);
|
|
|
|
/**
|
|
Checks to see if any data is available to be read from the debugport device.
|
|
|
|
@param This A pointer to the EFI_DEBUGPORT_PROTOCOL instance.
|
|
|
|
@retval EFI_SUCCESS At least one byte of data is available to be read.
|
|
@retval EFI_DEVICE_ERROR The debugport device is not functioning correctly.
|
|
@retval EFI_NOT_READY No data is available to be read.
|
|
|
|
**/
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *EFI_DEBUGPORT_POLL)(
|
|
IN EFI_DEBUGPORT_PROTOCOL *This
|
|
);
|
|
|
|
///
|
|
/// This protocol provides the communication link between the debug agent and the remote host.
|
|
///
|
|
struct _EFI_DEBUGPORT_PROTOCOL {
|
|
EFI_DEBUGPORT_RESET Reset;
|
|
EFI_DEBUGPORT_WRITE Write;
|
|
EFI_DEBUGPORT_READ Read;
|
|
EFI_DEBUGPORT_POLL Poll;
|
|
};
|
|
|
|
//
|
|
// DEBUGPORT variable definitions...
|
|
//
|
|
#define EFI_DEBUGPORT_VARIABLE_NAME L"DEBUGPORT"
|
|
#define EFI_DEBUGPORT_VARIABLE_GUID EFI_DEBUGPORT_PROTOCOL_GUID
|
|
|
|
extern EFI_GUID gEfiDebugPortVariableGuid;
|
|
|
|
//
|
|
// DebugPort device path definitions...
|
|
//
|
|
#define DEVICE_PATH_MESSAGING_DEBUGPORT EFI_DEBUGPORT_PROTOCOL_GUID
|
|
|
|
extern EFI_GUID gEfiDebugPortDevicePathGuid;
|
|
|
|
typedef struct {
|
|
EFI_DEVICE_PATH_PROTOCOL Header;
|
|
EFI_GUID Guid;
|
|
} DEBUGPORT_DEVICE_PATH;
|
|
|
|
#endif
|