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