pub fn message_output_init() {
	percore::init();
	let unsafe_storage = get_unsafe_storage();
	unsafe {
		if unsafe_storage == 0 {
			COM1.port_address = intrinsics::volatile_load(&(*BOOT_INFO).uartport);
		}
		else {
			copy_from_safe(BOOT_INFO, 1);
			isolation_start!();
			COM1.port_address = intrinsics::volatile_load(&(*(unsafe_storage as *const BootInfo)).uartport);
			isolation_end!();
			clear_unsafe_storage();
		}
	}

	if environment::is_single_kernel() {
		// We can only initialize the serial port here, because VGA requires processor
		// configuration first.
		unsafe {
			COM1.init(SERIAL_PORT_BAUDRATE);
		}
	}
}
/// Earliest initialization function called by the Boot Processor.
Earliest initialization function called by the Boot Processor.
Earliest initialization function called by the Boot Processor .
pub fn message_output_init() {
	percore::init();
	let unsafe_storage = get_unsafe_storage();
	unsafe {
		if unsafe_storage == 0 {
			COM1.port_address = intrinsics::volatile_load(&(*BOOT_INFO).uartport);
		}
		else {
			copy_from_safe(BOOT_INFO, 1);
			isolation_start!();
			COM1.port_address = intrinsics::volatile_load(&(*(unsafe_storage as *const BootInfo)).uartport);
			isolation_end!();
			clear_unsafe_storage();
		}
	}
	if environment::is_single_kernel() {
		// We can only initialize the serial port here, because VGA requires processor
		// configuration first.
		unsafe {
			COM1.init(SERIAL_PORT_BAUDRATE);
		}
	}
}
pub fn message_output_init ( ) { percore :: init ( ) ; let unsafe_storage = get_unsafe_storage ( ) ; unsafe { if unsafe_storage == 0 { COM1 . port_address = intrinsics :: volatile_load ( & ( * BOOT_INFO ) . uartport ) ; } else { copy_from_safe ( BOOT_INFO , 1 ) ; isolation_start ! ( ) ; COM1 . port_address = intrinsics :: volatile_load ( & ( * ( unsafe_storage as * const BootInfo ) ) . uartport ) ; isolation_end ! ( ) ; clear_unsafe_storage ( ) ; } } if environment :: is_single_kernel ( ) { // We can only initialize the serial port here, because VGA requires processor // configuration first. unsafe { COM1 . init ( SERIAL_PORT_BAUDRATE ) ; } } }
Earliest initialization function called by the Boot Processor.
Earliest initialization function called by the Boot Processor .