| #include <bcmolt_tr_ud_driver.h> |
| #include <bcm_dev_log.h> |
| #include <bcmolt_dev_ctrl.h> |
| #include <bcmolt_tr_mux.h> |
| #include <bcmos_system.h> |
| #include <bcmolt_user_utils.h> |
| #include <bcmolt_host_api.h> |
| #include <bcmolt_fld.h> |
| #include <bcmtr_pcie.h> |
| |
| extern struct proc_dir_entry *bcmolt_dir; |
| |
| bcmos_errno bcmtr_init(void) |
| { |
| return BCM_ERR_OK; |
| } |
| |
| #ifdef ENABLE_LOG |
| #define DEV_LOG_SIZE1 1<<11 |
| #define DEV_LOG_SIZE2 1<<13 |
| #define DEV_LOG_QUEUE_SIZE 1000 |
| |
| static bcmos_errno dev_ctrl_logger_init_cb(void) |
| { |
| bcmos_errno rc; |
| static uint8_t logger_buf1[DEV_LOG_SIZE1]; |
| static uint8_t logger_buf2[DEV_LOG_SIZE2]; |
| void *addresses[DEV_LOG_MAX_FILES] = {logger_buf1, logger_buf2}; |
| uint32_t sizes[DEV_LOG_MAX_FILES] = {sizeof(logger_buf1), sizeof(logger_buf2)}; |
| uint32_t flags[DEV_LOG_MAX_FILES] = {BCM_DEV_LOG_FILE_FLAG_STOP_WHEN_FULL, BCM_DEV_LOG_FILE_FLAG_WRAP_AROUND}; |
| |
| rc = bcm_dev_log_init_default_logger(addresses, sizes, flags, BCM_SIZEOFARRAY(addresses), 0x4000, TASK_PRIORITY_DEV_LOG, DEV_LOG_QUEUE_SIZE); |
| BCMOS_TRACE_CHECK_RETURN(rc, rc, "bcm_dev_log_initialize_dev_logger_default()\n"); |
| |
| /* For now just map BCMOS_TRACE_XX to dev_log. Later on dev_control |
| * can define its own log ids |
| */ |
| //rc = bcm_dev_log_os_trace_init(); |
| //BUG_ON(rc); |
| |
| return rc; |
| } |
| #endif |
| |
| |
| |
| int main(int argc, char *argv[]) |
| { |
| bcmos_errno rc; |
| bcmolt_host_init_params params = |
| { |
| #ifdef ENABLE_LOG |
| .logger_init_cb = dev_ctrl_logger_init_cb, |
| #endif |
| .run_dev_ctrl = BCMOS_TRUE |
| }; |
| |
| rc = bcmolt_host_init(¶ms); |
| BUG_ON(rc); |
| |
| bcmos_trace_level_set(BCMOS_TRACE_LEVEL_DEBUG); |
| |
| rc = bcmtr_ud_init(); /* Never returns - runs accept loop */ |
| BUG_ON(rc); |
| |
| while (BCMOS_TRUE) |
| { |
| bcmos_usleep(5*1000*1000); |
| bcmos_printf("Waiting\n"); |
| } |
| } |
| |