Changeset ebb3538 in mainline
- Timestamp:
- 2021-09-15T15:01:03Z (3 years ago)
- Branches:
- master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 5ecac7e
- Parents:
- 8ce56a6
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
HelenOS.config
r8ce56a6 rebb3538 396 396 ! CONFIG_DEBUG (y/n) 397 397 398 % Early debugging print 399 ! [CONFIG_DEBUG=y] CONFIG_DEBUG_EARLY_PRINT (n/y) 400 398 401 % Sanitize undefined behavior (userspace) 399 402 ! CONFIG_UBSAN (n/y) -
kernel/arch/amd64/src/asm.S
r8ce56a6 rebb3538 411 411 FUNCTION_BEGIN(early_putuchar) 412 412 413 #if (defined(CONFIG_DEBUG_EARLY_PRINT)) 414 413 415 #if (defined(CONFIG_L4RE_UVMM_EARLY_PRINT)) 414 416 xorl %eax, %eax /* RAX==0: uvmm's print hypercall */ … … 543 545 #endif 544 546 547 #endif 548 545 549 ret 546 550 FUNCTION_END(early_putuchar) -
kernel/arch/arm64/include/arch/machine_func.h
r8ce56a6 rebb3538 50 50 size_t (*machine_get_irq_count)(void); 51 51 const char *(*machine_get_platform_name)(void); 52 void (*machine_early_uart_output)(char32_t); 52 53 }; 53 54 … … 60 61 extern size_t machine_get_irq_count(void); 61 62 extern const char *machine_get_platform_name(void); 63 extern void machine_early_uart_output(char32_t); 62 64 63 65 #endif -
kernel/arch/arm64/src/arm64.c
r8ce56a6 rebb3538 40 40 #include <arch/exception.h> 41 41 #include <arch/machine_func.h> 42 #include <console/console.h> 42 43 #include <interrupt.h> 43 44 #include <proc/scheduler.h> … … 256 257 } 257 258 259 void early_putuchar(char32_t c) 260 { 261 #ifdef CONFIG_DEBUG_EARLY_PRINT 262 if (c == '\n') 263 machine_early_uart_output('\r'); 264 265 machine_early_uart_output(c); 266 #endif 267 } 268 258 269 /** @} 259 270 */ -
kernel/arch/arm64/src/asm.S
r8ce56a6 rebb3538 55 55 FUNCTION_END(memcpy_from_uspace_failover_address) 56 56 FUNCTION_END(memcpy_to_uspace_failover_address) 57 58 FUNCTION_BEGIN(early_putuchar)59 ret60 FUNCTION_END(early_putuchar)61 57 62 58 /** Flush instruction caches -
kernel/arch/arm64/src/mach/hikey960/hikey960.c
r8ce56a6 rebb3538 122 122 } 123 123 124 static void hikey960_early_uart_output(char32_t c) 125 { 126 volatile uint32_t *uartdr = (volatile uint32_t *) 127 PA2KA(HIKEY960_UART_ADDRESS); 128 volatile uint32_t *uartfr = (volatile uint32_t *) 129 PA2KA(HIKEY960_UART_ADDRESS + 24); 130 131 while (*uartfr & 0x20U) { 132 } 133 134 *uartdr = c; 135 } 136 124 137 struct arm_machine_ops hikey960_machine_ops = { 125 138 hikey960_init, … … 129 142 hikey960_enable_vtimer_irq, 130 143 hikey960_get_irq_count, 131 hikey960_get_platform_name 144 hikey960_get_platform_name, 145 hikey960_early_uart_output 132 146 }; 133 147 -
kernel/arch/arm64/src/machine_func.c
r8ce56a6 rebb3538 101 101 } 102 102 103 /** Early debugging output. */ 104 void machine_early_uart_output(char32_t c) 105 { 106 if (machine_ops->machine_early_uart_output != NULL) 107 machine_ops->machine_early_uart_output(c); 108 } 109 103 110 /** @} 104 111 */ -
kernel/arch/ia32/src/asm.S
r8ce56a6 rebb3538 453 453 FUNCTION_BEGIN(early_putuchar) 454 454 455 #if ((defined(CONFIG_ EGA)) && (!defined(CONFIG_FB)))455 #if ((defined(CONFIG_DEBUG_EARLY_PRINT)) && (defined(CONFIG_EGA)) && (!defined(CONFIG_FB))) 456 456 457 457 /* Prologue, save preserved registers */ -
kernel/generic/src/console/console.c
r8ce56a6 rebb3538 379 379 * The early_putuchar() function is used to output 380 380 * the character for low-level debugging purposes. 381 * Note that the early_put c() function might be381 * Note that the early_putuchar() function might be 382 382 * a no-op on certain hardware configurations. 383 383 */
Note:
See TracChangeset
for help on using the changeset viewer.