opal.c (b14726c51ce338ee3abe753fa40428a119c12597) opal.c (0869b6fd209bda402576a9a559120ddd4f61198e)
1/*
2 * PowerNV OPAL high level interfaces
3 *
4 * Copyright 2011 IBM Corp.
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version

--- 500 unchanged lines hidden (view full) ---

509 }
510 machine_check_print_event_info(&evt);
511
512 if (opal_recover_mce(regs, &evt))
513 return 1;
514 return 0;
515}
516
1/*
2 * PowerNV OPAL high level interfaces
3 *
4 * Copyright 2011 IBM Corp.
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version

--- 500 unchanged lines hidden (view full) ---

509 }
510 machine_check_print_event_info(&evt);
511
512 if (opal_recover_mce(regs, &evt))
513 return 1;
514 return 0;
515}
516
517/* Early hmi handler called in real mode. */
518int opal_hmi_exception_early(struct pt_regs *regs)
519{
520 /* TODO: Call opal hmi handler. */
521 return 0;
522}
523
524/* HMI exception handler called in virtual mode during check_irq_replay. */
525int opal_handle_hmi_exception(struct pt_regs *regs)
526{
527 /* TODO: Retrive and print HMI event from OPAL. */
528 return 0;
529}
530
517static uint64_t find_recovery_address(uint64_t nip)
518{
519 int i;
520
521 for (i = 0; i < mc_recoverable_range_len; i++)
522 if ((nip >= mc_recoverable_range[i].start_addr) &&
523 (nip < mc_recoverable_range[i].end_addr))
524 return mc_recoverable_range[i].recover_addr;

--- 202 unchanged lines hidden ---
531static uint64_t find_recovery_address(uint64_t nip)
532{
533 int i;
534
535 for (i = 0; i < mc_recoverable_range_len; i++)
536 if ((nip >= mc_recoverable_range[i].start_addr) &&
537 (nip < mc_recoverable_range[i].end_addr))
538 return mc_recoverable_range[i].recover_addr;

--- 202 unchanged lines hidden ---