2022-01-22 19:38:14 +00:00
|
|
|
// SPDX-License-Identifier: GPL-2.0+
|
|
|
|
/*
|
|
|
|
* (C) Copyright 2021 Mark Kettenis <kettenis@openbsd.org>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#define APPLE_RTKIT_PWR_STATE_SLEEP 0x01
|
|
|
|
#define APPLE_RTKIT_PWR_STATE_QUIESCED 0x10
|
|
|
|
#define APPLE_RTKIT_PWR_STATE_ON 0x20
|
|
|
|
|
2022-06-14 07:09:07 +00:00
|
|
|
struct apple_rtkit_buffer {
|
|
|
|
void *buffer;
|
|
|
|
u64 dva;
|
|
|
|
size_t size;
|
|
|
|
bool is_mapped;
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef int (*apple_rtkit_shmem_setup)(void *cookie,
|
|
|
|
struct apple_rtkit_buffer *buf);
|
|
|
|
typedef void (*apple_rtkit_shmem_destroy)(void *cookie,
|
|
|
|
struct apple_rtkit_buffer *buf);
|
|
|
|
|
|
|
|
struct apple_rtkit;
|
|
|
|
|
|
|
|
struct apple_rtkit *apple_rtkit_init(struct mbox_chan *chan, void *cookie,
|
|
|
|
apple_rtkit_shmem_setup shmem_setup,
|
|
|
|
apple_rtkit_shmem_destroy shmem_destroy);
|
|
|
|
void apple_rtkit_free(struct apple_rtkit *rtk);
|
|
|
|
int apple_rtkit_boot(struct apple_rtkit *rtk);
|
|
|
|
int apple_rtkit_shutdown(struct apple_rtkit *rtk, int pwrstate);
|