mirror of
https://github.com/AsahiLinux/m1n1
synced 2024-11-27 00:40:17 +00:00
rtkit: Add dummy OSLog support
Signed-off-by: Hector Martin <marcan@marcan.st>
This commit is contained in:
parent
7fc207eb35
commit
94bc563433
1 changed files with 20 additions and 0 deletions
20
src/rtkit.c
20
src/rtkit.c
|
@ -21,6 +21,7 @@
|
||||||
#define RTKIT_EP_SYSLOG 2
|
#define RTKIT_EP_SYSLOG 2
|
||||||
#define RTKIT_EP_DEBUG 3
|
#define RTKIT_EP_DEBUG 3
|
||||||
#define RTKIT_EP_IOREPORT 4
|
#define RTKIT_EP_IOREPORT 4
|
||||||
|
#define RTKIT_EP_OSLOG 8
|
||||||
|
|
||||||
#define MGMT_TYPE GENMASK(59, 52)
|
#define MGMT_TYPE GENMASK(59, 52)
|
||||||
|
|
||||||
|
@ -30,6 +31,9 @@
|
||||||
#define MSG_BUFFER_REQUEST_SIZE GENMASK(51, 44)
|
#define MSG_BUFFER_REQUEST_SIZE GENMASK(51, 44)
|
||||||
#define MSG_BUFFER_REQUEST_IOVA GENMASK(41, 0)
|
#define MSG_BUFFER_REQUEST_IOVA GENMASK(41, 0)
|
||||||
|
|
||||||
|
#define MSG_OSLOG_INIT 0x10
|
||||||
|
#define MSG_OSLOG_ACK 0x30
|
||||||
|
|
||||||
#define MGMT_MSG_HELLO 1
|
#define MGMT_MSG_HELLO 1
|
||||||
#define MGMT_MSG_HELLO_ACK 2
|
#define MGMT_MSG_HELLO_ACK 2
|
||||||
#define MGMT_MSG_HELLO_MINVER GENMASK(15, 0)
|
#define MGMT_MSG_HELLO_MINVER GENMASK(15, 0)
|
||||||
|
@ -264,6 +268,17 @@ bool rtkit_recv(rtkit_dev_t *rtk, struct rtkit_message *msg)
|
||||||
rtkit_printf("unknown ioreport message %x\n", msgtype);
|
rtkit_printf("unknown ioreport message %x\n", msgtype);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case RTKIT_EP_OSLOG:
|
||||||
|
switch (msgtype) {
|
||||||
|
case MSG_OSLOG_INIT:
|
||||||
|
msg->msg = FIELD_PREP(MGMT_TYPE, MSG_OSLOG_ACK);
|
||||||
|
if (!rtkit_send(rtk, msg))
|
||||||
|
rtkit_printf("unable to ACK oslog init message\n");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
rtkit_printf("unknown oslog message %x\n", msgtype);
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
rtkit_printf("message to unknown system endpoint 0x%02x: %lx\n", msg->ep, msg->msg);
|
rtkit_printf("message to unknown system endpoint 0x%02x: %lx\n", msg->ep, msg->msg);
|
||||||
}
|
}
|
||||||
|
@ -346,6 +361,7 @@ bool rtkit_boot(rtkit_dev_t *rtk)
|
||||||
bool has_debug = false;
|
bool has_debug = false;
|
||||||
bool has_ioreport = false;
|
bool has_ioreport = false;
|
||||||
bool has_syslog = false;
|
bool has_syslog = false;
|
||||||
|
bool has_oslog = false;
|
||||||
bool got_epmap = false;
|
bool got_epmap = false;
|
||||||
while (!got_epmap) {
|
while (!got_epmap) {
|
||||||
if (!asc_recv_timeout(rtk->asc, &msg, USEC_PER_SEC)) {
|
if (!asc_recv_timeout(rtk->asc, &msg, USEC_PER_SEC)) {
|
||||||
|
@ -387,6 +403,8 @@ bool rtkit_boot(rtkit_dev_t *rtk)
|
||||||
case RTKIT_EP_SYSLOG:
|
case RTKIT_EP_SYSLOG:
|
||||||
has_syslog = true;
|
has_syslog = true;
|
||||||
break;
|
break;
|
||||||
|
case RTKIT_EP_OSLOG:
|
||||||
|
has_oslog = true;
|
||||||
case RTKIT_EP_MGMT:
|
case RTKIT_EP_MGMT:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -422,6 +440,8 @@ bool rtkit_boot(rtkit_dev_t *rtk)
|
||||||
return false;
|
return false;
|
||||||
if (has_ioreport && !rtkit_start_ep(rtk, RTKIT_EP_IOREPORT))
|
if (has_ioreport && !rtkit_start_ep(rtk, RTKIT_EP_IOREPORT))
|
||||||
return false;
|
return false;
|
||||||
|
if (has_oslog && !rtkit_start_ep(rtk, RTKIT_EP_OSLOG))
|
||||||
|
return false;
|
||||||
|
|
||||||
while (rtk->iop_power != RTKIT_POWER_ON) {
|
while (rtk->iop_power != RTKIT_POWER_ON) {
|
||||||
struct rtkit_message rtk_msg;
|
struct rtkit_message rtk_msg;
|
||||||
|
|
Loading…
Reference in a new issue