Beispiel #1
0
void panic_PAR(uint64_t par)
{
    const char *msg;
    int level = -1;
    int stage = par & PAR_STAGE2 ? 2 : 1;
    int second_in_first = !!(par & PAR_STAGE21);

    msg = decode_fsc( (par&PAR_FSC_MASK) >> PAR_FSC_SHIFT, &level);

    printk("PAR: %016"PRIx64": %s stage %d%s%s\n",
           par, msg,
           stage,
           second_in_first ? " during second stage lookup" : "",
           fsc_level_str(level));

    panic("Error during Hypervisor-to-physical address translation");
}
Beispiel #2
0
void panic_PAR(uint64_t par, const char *when)
{
    if ( par & PAR_F )
    {
        const char *msg;
        int level = -1;
        int stage = par & PAR_STAGE2 ? 2 : 1;
        int second_in_first = !!(par & PAR_STAGE21);

        msg = decode_fsc( (par&PAR_FSC_MASK) >> PAR_FSC_SHIFT, &level);

        printk("PAR: %010"PRIx64": %s stage %d%s%s\n",
               par, msg,
               stage,
               second_in_first ? " during second stage lookup" : "",
               fsc_level_str(level));
    }
    else
    {