1*16ab00cbSLakshminarayana R. Kammath /** 2*16ab00cbSLakshminarayana R. Kammath * Copyright © 2019 IBM Corporation 3*16ab00cbSLakshminarayana R. Kammath * 4*16ab00cbSLakshminarayana R. Kammath * Licensed under the Apache License, Version 2.0 (the "License"); 5*16ab00cbSLakshminarayana R. Kammath * you may not use this file except in compliance with the License. 6*16ab00cbSLakshminarayana R. Kammath * You may obtain a copy of the License at 7*16ab00cbSLakshminarayana R. Kammath * 8*16ab00cbSLakshminarayana R. Kammath * http://www.apache.org/licenses/LICENSE-2.0 9*16ab00cbSLakshminarayana R. Kammath * 10*16ab00cbSLakshminarayana R. Kammath * Unless required by applicable law or agreed to in writing, software 11*16ab00cbSLakshminarayana R. Kammath * distributed under the License is distributed on an "AS IS" BASIS, 12*16ab00cbSLakshminarayana R. Kammath * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*16ab00cbSLakshminarayana R. Kammath * See the License for the specific language governing permissions and 14*16ab00cbSLakshminarayana R. Kammath * limitations under the License. 15*16ab00cbSLakshminarayana R. Kammath */ 16*16ab00cbSLakshminarayana R. Kammath 17*16ab00cbSLakshminarayana R. Kammath #include "nmi_interface.hpp" 18*16ab00cbSLakshminarayana R. Kammath 19*16ab00cbSLakshminarayana R. Kammath #include <sdbusplus/bus.hpp> 20*16ab00cbSLakshminarayana R. Kammath 21*16ab00cbSLakshminarayana R. Kammath int main(int argc, char* argv[]) 22*16ab00cbSLakshminarayana R. Kammath { 23*16ab00cbSLakshminarayana R. Kammath 24*16ab00cbSLakshminarayana R. Kammath constexpr auto BUSPATH_NMI = "/xyz/openbmc_project/control/host0/nmi"; 25*16ab00cbSLakshminarayana R. Kammath constexpr auto BUSNAME_NMI = "xyz.openbmc_project.Control.Host.NMI"; 26*16ab00cbSLakshminarayana R. Kammath auto bus = sdbusplus::bus::new_default(); 27*16ab00cbSLakshminarayana R. Kammath 28*16ab00cbSLakshminarayana R. Kammath // Add sdbusplus ObjectManager 29*16ab00cbSLakshminarayana R. Kammath sdbusplus::server::manager::manager objManager(bus, BUSPATH_NMI); 30*16ab00cbSLakshminarayana R. Kammath openpower::proc::NMI NMI(bus, BUSPATH_NMI); 31*16ab00cbSLakshminarayana R. Kammath bus.request_name(BUSNAME_NMI); 32*16ab00cbSLakshminarayana R. Kammath 33*16ab00cbSLakshminarayana R. Kammath while (true) 34*16ab00cbSLakshminarayana R. Kammath { 35*16ab00cbSLakshminarayana R. Kammath bus.process_discard(); 36*16ab00cbSLakshminarayana R. Kammath bus.wait(); 37*16ab00cbSLakshminarayana R. Kammath } 38*16ab00cbSLakshminarayana R. Kammath 39*16ab00cbSLakshminarayana R. Kammath return 0; 40*16ab00cbSLakshminarayana R. Kammath } 41