|
Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
|
#include "ioforge/ioforge_pci.hpp"#include "ioforge/ioforge_usb.h"#include <type.h>#include <ioforge/ioforge_int_pipe.hpp>Go to the source code of this file.
Data Structures | |
| struct | ehci_operation |
| struct | ehci_queue_head |
| struct | ehci_queue_head_node |
| struct | ehci_queue_task_descriptor |
| struct | ehci_queue_task_descriptor_node |
| struct | ehci_periodic_transfer_ctx |
| class | EHCIModule |
Typedefs | |
| typedef struct ehci_queue_head_node | ehci_queue_head_node_t |
| typedef struct ehci_queue_task_descriptor_node | ehci_queue_task_descriptor_node_t |
Enumerations | |
| enum | EHCI_Q_SELECT { EHCI_Q_SELECT_ITD = (0 << 1) , EHCI_Q_SELECT_QH = (1 << 1) , EHCI_Q_SELECT_SITD = (2 << 1) , EHCI_Q_SELECT_FSTN = (3 << 1) } |
| enum | EHCI_QTD_TOKEN_PID { EHCI_QTD_TOKEN_PID_OUT = (0 << 8) , EHCI_QTD_TOKEN_PID_IN = (1 << 8) , EHCI_QTD_TOKEN_PID_SETUP = (2 << 8) } |
| enum | EHCI_QTD_TOKEN_STATUS { EHCI_QTD_TOKEN_STATUS_ACTIVE = (1 << 7) , EHCI_QTD_TOKEN_STATUS_HALTED = (1 << 6) , EHCI_QTD_TOKEN_STATUS_BUFFER_ERROR = (1 << 5) , EHCI_QTD_TOKEN_STATUS_BABBLE_DETECTED = (1 << 4) , EHCI_QTD_TOKEN_STATUS_TRANSACTION_ERROR = (1 << 3) } |
| enum | EHCI_QTD_TOKEN_ERROR_COUNT { EHCI_QTD_TOKEN_ERROR_COUNT_0 = (0 << 10) , EHCI_QTD_TOKEN_ERROR_COUNT_1 = (1 << 10) , EHCI_QTD_TOKEN_ERROR_COUNT_2 = (2 << 10) , EHCI_QTD_TOKEN_ERROR_COUNT_3 = (3 << 10) } |
| enum | EHCI_QH_CAP_MULT { EHCI_QH_CAP_MULT_1 = (1 << 30) , EHCI_QH_CAP_MULT_2 = (2 << 30) , EHCI_QH_CAP_MULT_3 = (3 << 30) } |
Functions | |
| struct ehci_queue_head | __attribute__ ((aligned(32))) |
Variables | |
| volatile uint32_t | qhlp |
| volatile uint32_t | ch |
| volatile uint32_t | cap |
| volatile uint32_t | currentTD |
| volatile uint32_t | nextTD |
| volatile uint32_t | altTD |
| volatile uint32_t | token |
| volatile uint32_t | buffer [5] |
| volatile uint32_t | extbuffer [5] |
| uint32_t | _pad [7] |
| struct ehci_queue_head_node | __attribute__ |
| volatile uint32_t | link |
| volatile uint32_t | altlink |
| boolean_t | used |
| uint32_t | next |
| #define EHCI_1_MICRO_FRAME (1 << 16) |
Definition at line 33 of file ehci.hpp.
Referenced by EHCIModule::load().
| #define EHCI_CONTROLLER_RESET (1 << 1) |
Definition at line 17 of file ehci.hpp.
Referenced by EHCIModule::reset_device().
| #define EHCI_CONTROLLER_START 1 |
Definition at line 16 of file ehci.hpp.
Referenced by EHCIModule::start_device().
| #define EHCI_DEVICE_ID 0x24cd |
Definition at line 10 of file ehci.hpp.
Referenced by EHCIModule::load().
| #define EHCI_HC_HALTED_STATUS (1 << 12) |
Definition at line 22 of file ehci.hpp.
Referenced by EHCIModule::start_device().
| #define EHCI_PERIODIC_SCHEDULE_ENABLE (1 << 4) |
Definition at line 25 of file ehci.hpp.
Referenced by EHCIModule::start_periodic(), and EHCIModule::stop_periodic().
| #define EHCI_PORT_ENABLED (1 << 2) |
Definition at line 29 of file ehci.hpp.
Referenced by EHCIModule::probe().
| #define EHCI_PORT_RESET (1 << 8) |
Definition at line 30 of file ehci.hpp.
Referenced by EHCIModule::port_reset().
| #define EHCI_QH_CAP_DTC (1 << 14) |
Definition at line 56 of file ehci.hpp.
Referenced by EHCIModule::send_async_with_response().
| #define EHCI_QH_CAP_HEAD_OF_RECLAMATION (1 << 15) |
Definition at line 57 of file ehci.hpp.
Referenced by EHCIModule::init_controller(), and EHCIModule::init_periodic().
| #define EHCI_QH_CAP_MAX_PACKET_LENGTH | ( | x | ) |
Definition at line 58 of file ehci.hpp.
Referenced by EHCIModule::send_async_with_response().
| #define EHCI_QTD_TERMINATE 1 |
Definition at line 66 of file ehci.hpp.
Referenced by EHCIPipe::arm(), EHCIModule::init_controller(), EHCIModule::init_periodic(), EHCIModule::send_async_with_response(), and EHCIPipe::setup_qh().
| #define EHCI_QTD_TOKEN_DATA (1 << 31) |
Definition at line 70 of file ehci.hpp.
Referenced by EHCIPipe::arm(), and EHCIModule::send_async_with_response().
| #define EHCI_QTD_TOKEN_IOC (1 << 15) |
Definition at line 71 of file ehci.hpp.
Referenced by EHCIPipe::arm(), and EHCIModule::send_async_with_response().
| #define EHCI_QTD_TOKEN_LENGTH | ( | l | ) |
Definition at line 69 of file ehci.hpp.
Referenced by EHCIPipe::arm(), and EHCIModule::send_async_with_response().
| #define EHCI_START_ASYNC_SCHEDULE (1 << 5) |
Definition at line 19 of file ehci.hpp.
Referenced by EHCIModule::init_controller(), and EHCIModule::procces_async().
| #define EHCI_VENDOR_ID 0x8086 |
Definition at line 9 of file ehci.hpp.
Referenced by EHCIModule::load().
| typedef struct ehci_queue_head_node ehci_queue_head_node_t |
| typedef struct ehci_queue_task_descriptor_node ehci_queue_task_descriptor_node_t |
| enum EHCI_Q_SELECT |
| enum EHCI_QH_CAP_MULT |
| enum EHCI_QTD_TOKEN_PID |
| struct ehci_queue_head __attribute__ | ( | (aligned(32)) | ) |
Definition at line 1 of file framebuffer.h.
| struct ehci_queue_task_descriptor_node __attribute__ |
| volatile uint32_t buffer |
Definition at line 8 of file ehci.hpp.
Referenced by AHCIModule::build_prdt(), ioforge_nic_rx(), socket_receive(), EHCIModule::usb_get_string_descriptor(), and vxInetNtoa().
| volatile uint32_t cap |
Definition at line 2 of file ehci.hpp.
Referenced by __attribute__(), hpet_level_timer_setup(), pci_enable_msi(), pci_enable_msix(), vxHPETInitialize(), and vxVoxmoInstall().
| volatile uint32_t ch |
Definition at line 1 of file ehci.hpp.
Referenced by EHCIModule::usb_get_string_descriptor(), and vfs_umount_recursive().
| uint32_t next |
Definition at line 7 of file ehci.hpp.
Referenced by EHCIModule::call_completion_callback().
| volatile uint32_t token |
Definition at line 7 of file ehci.hpp.
Referenced by EHCIModule::call_completion_callback().
| boolean_t used |
Definition at line 6 of file ehci.hpp.
Referenced by __attribute__(), __attribute__(), char_write(), and phys_base_alloc().