116ab00cbSLakshminarayana R. Kammath /** 216ab00cbSLakshminarayana R. Kammath * Copyright © 2019 IBM Corporation 316ab00cbSLakshminarayana R. Kammath * 416ab00cbSLakshminarayana R. Kammath * Licensed under the Apache License, Version 2.0 (the "License"); 516ab00cbSLakshminarayana R. Kammath * you may not use this file except in compliance with the License. 616ab00cbSLakshminarayana R. Kammath * You may obtain a copy of the License at 716ab00cbSLakshminarayana R. Kammath * 816ab00cbSLakshminarayana R. Kammath * http://www.apache.org/licenses/LICENSE-2.0 916ab00cbSLakshminarayana R. Kammath * 1016ab00cbSLakshminarayana R. Kammath * Unless required by applicable law or agreed to in writing, software 1116ab00cbSLakshminarayana R. Kammath * distributed under the License is distributed on an "AS IS" BASIS, 1216ab00cbSLakshminarayana R. Kammath * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1316ab00cbSLakshminarayana R. Kammath * See the License for the specific language governing permissions and 1416ab00cbSLakshminarayana R. Kammath * limitations under the License. 1516ab00cbSLakshminarayana R. Kammath */ 1616ab00cbSLakshminarayana R. Kammath 1716ab00cbSLakshminarayana R. Kammath #include "nmi_interface.hpp" 1816ab00cbSLakshminarayana R. Kammath 19424475d4SAndrew Jeffery #include <libpdbg.h> 20424475d4SAndrew Jeffery 2116ab00cbSLakshminarayana R. Kammath #include <sdbusplus/bus.hpp> 2216ab00cbSLakshminarayana R. Kammath 23*63508a73SBrad Bishop int main(int, char*[]) 2416ab00cbSLakshminarayana R. Kammath { 2516ab00cbSLakshminarayana R. Kammath 2616ab00cbSLakshminarayana R. Kammath constexpr auto BUSPATH_NMI = "/xyz/openbmc_project/control/host0/nmi"; 2716ab00cbSLakshminarayana R. Kammath constexpr auto BUSNAME_NMI = "xyz.openbmc_project.Control.Host.NMI"; 2816ab00cbSLakshminarayana R. Kammath auto bus = sdbusplus::bus::new_default(); 2916ab00cbSLakshminarayana R. Kammath 30424475d4SAndrew Jeffery pdbg_targets_init(NULL); 31424475d4SAndrew Jeffery 3216ab00cbSLakshminarayana R. Kammath // Add sdbusplus ObjectManager 3316ab00cbSLakshminarayana R. Kammath sdbusplus::server::manager::manager objManager(bus, BUSPATH_NMI); 3416ab00cbSLakshminarayana R. Kammath openpower::proc::NMI NMI(bus, BUSPATH_NMI); 3516ab00cbSLakshminarayana R. Kammath bus.request_name(BUSNAME_NMI); 3616ab00cbSLakshminarayana R. Kammath 3716ab00cbSLakshminarayana R. Kammath while (true) 3816ab00cbSLakshminarayana R. Kammath { 3916ab00cbSLakshminarayana R. Kammath bus.process_discard(); 4016ab00cbSLakshminarayana R. Kammath bus.wait(); 4116ab00cbSLakshminarayana R. Kammath } 4216ab00cbSLakshminarayana R. Kammath 4316ab00cbSLakshminarayana R. Kammath return 0; 4416ab00cbSLakshminarayana R. Kammath } 45