blob: 7f3ddfaa6f3cd5697aeca06b419e99b046dd18d9 [file] [log] [blame]
// Copyright 2020 The Fuchsia Authors
//
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file or at
// https://opensource.org/licenses/MIT
#include <lib/uart/qemu.h>
#include <stdio.h>
#include <stdlib.h>
#include <phys/main.h>
#include "test-main.h"
FILE FILE::stdout_;
void PhysMain(void* bootloader_data, arch::EarlyTicks ticks) {
// Apply any relocations required to ourself.
ApplyRelocations();
static uart::qemu::KernelDriver<> uart;
FILE::stdout_ = FILE{&uart};
// Early boot may have filled the screen with logs. Add a newline to
// terminate any previous line, and another newline to leave a blank.
printf("\n\n");
// Run the test.
int status = TestMain(bootloader_data, ticks);
if (status == 0) {
printf("\n*** Test succeeded ***\n%s\n\n", ZBI_TEST_SUCCESS_STRING);
} else {
printf("\n*** Test FAILED: status %d ***\n\n", status);
}
// No way to shut down.
abort();
}