lx_emul: add implementation for Genode's USB C-API

Fix 
This commit is contained in:
Stefan Kalkowski 2022-03-08 16:20:38 +01:00
parent 9713014130
commit e95f0a409d
4 changed files with 31 additions and 5 deletions
repos
dde_linux/src
include/lx_emul
lib/lx_emul
pc/src/drivers/usb_host/pc

@ -0,0 +1,27 @@
/*
* \brief Lx_emul support for USB
* \author Stefan Kalkowski
* \date 2022-03-08
*/
/*
* Copyright (C) 2022 Genode Labs GmbH
*
* This file is distributed under the terms of the GNU General Public License
* version 2.
*/
#ifndef _LX_EMUL__USB_H_
#define _LX_EMUL__USB_H_
#ifdef __cplusplus
extern "C" {
#endif
extern struct genode_usb_rpc_callbacks lx_emul_usb_rpc_callbacks;
#ifdef __cplusplus
}
#endif
#endif /* _LX_EMUL__USB_H_ */

@ -155,7 +155,7 @@ static int endpoint_descriptor(genode_usb_bus_num_t bus,
}
struct genode_usb_rpc_callbacks genode_usb_rpc_callbacks_obj = {
struct genode_usb_rpc_callbacks lx_emul_usb_rpc_callbacks = {
.alloc_fn = lx_emul_shared_dma_buffer_allocate,
.free_fn = lx_emul_shared_dma_buffer_free,
.cfg_desc_fn = config_descriptor,

@ -16,6 +16,7 @@
#include <base/env.h>
#include <lx_emul/init.h>
#include <lx_emul/usb.h>
#include <lx_kit/env.h>
#include <lx_kit/init.h>
#include <lx_user/io.h>
@ -27,8 +28,6 @@ using namespace Genode;
static bool _bios_handoff;
extern struct genode_usb_rpc_callbacks genode_usb_rpc_callbacks_obj;
extern "C" int inhibit_pci_fixup(char const *name)
{
@ -76,7 +75,7 @@ struct Main : private Entrypoint::Io_progress_handler
genode_usb_init(genode_env_ptr(env),
genode_allocator_ptr(sliced_heap),
genode_signal_handler_ptr(signal_handler),
&genode_usb_rpc_callbacks_obj);
&lx_emul_usb_rpc_callbacks);
lx_emul_start_kernel(nullptr);

@ -12,10 +12,10 @@ SRC_CC += time.cc
SRC_CC += lx_emul/shared_dma_buffer.cc
SRC_C += dummies.c
SRC_C += lx_emul.c
SRC_C += usb.c
SRC_C += $(notdir $(wildcard $(REL_PRG_DIR)/generated_dummies.c))
SRC_C += common_dummies.c
SRC_C += lx_emul/spec/x86/pci.c
SRC_C += lx_emul/usb.c
vpath %.c $(REL_PRG_DIR)
vpath %.cc $(REL_PRG_DIR)