#include "Uefi.h"\r
#include <Library/BaseLib.h>\r
#include <Library/BaseMemoryLib.h>\r
+#include <Library/BhyveFwCtlLib.h>\r
#include <Library/DebugLib.h>\r
#include <Library/IoLib.h>\r
-#include <Library/BhyveFwCtlLib.h>\r
#include <Library/MemoryAllocationLib.h>\r
#include <Library/UefiBootServicesTableLib.h>\r
\r
-#define FW_PORT 0x510\r
-#define FW_IPORT 0x511\r
+#define FW_PORT 0x510\r
+#define FW_IPORT 0x511\r
\r
/* Transport protocol basic operations */\r
-#define OP_NULL 1\r
-#define OP_ECHO 2\r
-#define OP_GET 3\r
-#define OP_GET_LEN 4\r
-#define OP_SET 5\r
+#define OP_NULL 1\r
+#define OP_ECHO 2\r
+#define OP_GET 3\r
+#define OP_GET_LEN 4\r
+#define OP_SET 5\r
\r
/* Transport protocol error returns */\r
-#define T_ESUCCESS 0\r
+#define T_ESUCCESS 0\r
#define T_ENOENT 2\r
-#define T_E2BIG 7\r
-#define T_EMSGSIZE 40\r
+#define T_E2BIG 7\r
+#define T_EMSGSIZE 40\r
\r
#define ROUNDUP(x, y) ((((x)+((y)-1))/(y))*(y))\r
\r
STATIC INT32 mBhyveFwCtlTxid = 0xa5;\r
\r
/* XXX Maybe a better inbuilt version of this ? */\r
-struct BIoVec {\r
- VOID *Base;\r
- UINT32 Len;\r
-};\r
+typedef struct {\r
+ VOID *Base;\r
+ UINT32 Len;\r
+} BIO_VEC;\r
\r
-struct MsgRxHdr {\r
+typedef struct {\r
UINT32 Sz;\r
UINT32 Op;\r
UINT32 TxId;\r
UINT32 Err;\r
-};\r
+} MSG_RX_HDR;\r
\r
STATIC\r
RETURN_STATUS\r
EFIAPI\r
BhyveFwCtl_CvtErr (\r
- IN UINT32 errno\r
- )\r
+ IN UINT32 errno\r
+ )\r
{\r
RETURN_STATUS Status;\r
\r
UINT32\r
EFIAPI\r
BIov_WLen (\r
- IN struct BIoVec b[]\r
- )\r
+ IN BIO_VEC b[]\r
+ )\r
{\r
UINT32 i;\r
UINT32 tLen;\r
STATIC\r
UINT32\r
BIov_Send_Rem (\r
- IN UINT32 *Data,\r
- IN UINT32 Len\r
- )\r
+ IN UINT32 *Data,\r
+ IN UINT32 Len\r
+ )\r
{\r
union {\r
UINT8 c[4];\r
VOID\r
BIov_Send (\r
IN char *Data,\r
- IN UINT32 Len\r
+ IN UINT32 Len\r
)\r
{\r
UINT32 *LData;\r
STATIC\r
VOID\r
BIov_SendAll (\r
- IN struct BIoVec b[]\r
+ IN BIO_VEC b[]\r
)\r
{\r
INT32 i;\r
VOID\r
EFIAPI\r
BhyveFwCtl_MsgSend(\r
- IN UINT32 OpCode,\r
- IN struct BIoVec Data[]\r
- )\r
+ IN UINT32 OpCode,\r
+ IN BIO_VEC Data[]\r
+ )\r
{\r
- struct BIoVec hIov[4];\r
- UINT32 Hdr[3];\r
- UINT32 i;\r
+ BIO_VEC hIov[4];\r
+ UINT32 Hdr[3];\r
+ UINT32 i;\r
\r
/* Set up header as an iovec */\r
for (i = 0; i < 3; i++) {\r
RETURN_STATUS\r
EFIAPI\r
BhyveFwCtl_MsgRecv(\r
- OUT struct MsgRxHdr *Rhdr,\r
- OUT struct BIoVec Data[]\r
- )\r
+ OUT MSG_RX_HDR *Rhdr,\r
+ OUT BIO_VEC Data[]\r
+ )\r
{\r
- RETURN_STATUS Status;\r
+ RETURN_STATUS Status;\r
UINT32 *Dp;\r
- UINT32 Rd;\r
+ UINT32 Rd;\r
UINT32 remLen;\r
- INT32 oLen, xLen;\r
+ INT32 oLen;\r
+ INT32 xLen;\r
\r
Rd = IoRead32 (FW_PORT);\r
- if (Rd < sizeof(struct MsgRxHdr)) {\r
+ if (Rd < sizeof (MSG_RX_HDR)) {\r
;\r
}\r
\r
Rhdr->Err = IoRead32 (FW_PORT);\r
\r
/* Convert transport errno into UEFI error status */\r
- Status = BhyveFwCtl_CvtErr(Rhdr->Err);\r
+ Status = BhyveFwCtl_CvtErr (Rhdr->Err);\r
\r
- remLen = Rd - sizeof(struct MsgRxHdr);\r
+ remLen = Rd - sizeof (MSG_RX_HDR);\r
xLen = 0;\r
\r
/*\r
}\r
while (remLen > 0) {\r
*Dp++ = IoRead32 (FW_PORT);\r
- remLen -= sizeof(UINT32);\r
+ remLen -= sizeof (UINT32);\r
}\r
Data[0].Len = oLen;\r
} else {\r
/* Drop additional data */\r
while (xLen > 0) {\r
(void) IoRead32 (FW_PORT);\r
- xLen -= sizeof(UINT32);\r
+ xLen -= sizeof (UINT32);\r
}\r
\r
return Status;\r
RETURN_STATUS\r
EFIAPI\r
BhyveFwCtl_Msg(\r
- IN UINT32 OpCode,\r
- IN struct BIoVec Sdata[],\r
- OUT struct BIoVec Rdata[]\r
+ IN UINT32 OpCode,\r
+ IN BIO_VEC Sdata[],\r
+ OUT BIO_VEC Rdata[]\r
)\r
{\r
- struct MsgRxHdr Rh;\r
- RETURN_STATUS Status;\r
+ MSG_RX_HDR Rh;\r
+ RETURN_STATUS Status;\r
\r
Status = RETURN_SUCCESS;\r
\r
RETURN_STATUS\r
EFIAPI\r
BhyveFwCtlGetLen (\r
- IN CONST CHAR8 *Name,\r
- IN OUT UINT32 *Size\r
+ IN CONST CHAR8 *Name,\r
+ IN OUT UINT32 *Size\r
)\r
{\r
- struct BIoVec Req[2], Resp[2];\r
- RETURN_STATUS Status;\r
+ BIO_VEC Req[2], Resp[2];\r
+ RETURN_STATUS Status;\r
\r
Req[0].Base = (VOID *)Name;\r
Req[0].Len = (UINT32)AsciiStrLen (Name) + 1;\r
Req[1].Base = NULL;\r
\r
Resp[0].Base = Size;\r
- Resp[0].Len = sizeof(UINT32);\r
+ Resp[0].Len = sizeof (UINT32);\r
Resp[1].Base = NULL;\r
\r
Status = BhyveFwCtl_Msg (OP_GET_LEN, Req, Resp);\r
RETURN_STATUS\r
EFIAPI\r
BhyveFwCtlGetVal (\r
- IN CONST CHAR8 *Name,\r
- OUT VOID *Item,\r
- IN OUT UINT32 *Size\r
+ IN CONST CHAR8 *Name,\r
+ OUT VOID *Item,\r
+ IN OUT UINT32 *Size\r
)\r
{\r
- struct BIoVec Req[2], Resp[2];\r
- RETURN_STATUS Status;\r
+ BIO_VEC Req[2];\r
+ BIO_VEC Resp[2];\r
+ RETURN_STATUS Status;\r
\r
/* Make sure temp buffer is larger than passed-in size */\r
- if (*Size > sizeof(FwGetvalBuf.fData))\r
+ if (*Size > sizeof (FwGetvalBuf.fData))\r
return RETURN_INVALID_PARAMETER;\r
\r
Req[0].Base = (VOID *)Name;\r
- Req[0].Len = (UINT32)AsciiStrLen(Name) + 1;\r
+ Req[0].Len = (UINT32)AsciiStrLen (Name) + 1;\r
Req[1].Base = NULL;\r
\r
Resp[0].Base = &FwGetvalBuf;\r
- Resp[0].Len = sizeof(UINT64) + *Size;\r
+ Resp[0].Len = sizeof (UINT64) + *Size;\r
Resp[1].Base = NULL;\r
\r
Status = BhyveFwCtl_Msg (OP_GET, Req, Resp);\r
RETURN_STATUS\r
EFIAPI\r
BhyveFwCtlGet (\r
- IN CONST CHAR8 *Name,\r
+ IN CONST CHAR8 *Name,\r
OUT VOID *Item,\r
- IN OUT UINTN *Size\r
+ IN OUT UINTN *Size\r
)\r
{\r
RETURN_STATUS Status;\r
RETURN_STATUS\r
EFIAPI\r
BhyveFwCtlInitialize (\r
- VOID\r
- )\r
+ VOID\r
+ )\r
{\r
- UINT32 i;\r
- UINT8 ch;\r
+ UINT32 i;\r
+ UINT8 ch;\r
\r
DEBUG ((DEBUG_INFO, "FwCtlInitialize\n"));\r
\r