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 
main(int,char * [])2363508a73SBrad Bishop int main(int, char*[])
2416ab00cbSLakshminarayana R. Kammath {
2516ab00cbSLakshminarayana R. Kammath     constexpr auto BUSPATH_NMI = "/xyz/openbmc_project/control/host0/nmi";
2616ab00cbSLakshminarayana R. Kammath     constexpr auto BUSNAME_NMI = "xyz.openbmc_project.Control.Host.NMI";
2716ab00cbSLakshminarayana R. Kammath     auto bus = sdbusplus::bus::new_default();
2816ab00cbSLakshminarayana R. Kammath 
29424475d4SAndrew Jeffery     pdbg_targets_init(NULL);
30424475d4SAndrew Jeffery 
3116ab00cbSLakshminarayana R. Kammath     // Add sdbusplus ObjectManager
32*aaea6867SPatrick Williams     sdbusplus::server::manager_t objManager(bus, BUSPATH_NMI);
3316ab00cbSLakshminarayana R. Kammath     openpower::proc::NMI NMI(bus, BUSPATH_NMI);
3416ab00cbSLakshminarayana R. Kammath     bus.request_name(BUSNAME_NMI);
3516ab00cbSLakshminarayana R. Kammath 
3616ab00cbSLakshminarayana R. Kammath     while (true)
3716ab00cbSLakshminarayana R. Kammath     {
3816ab00cbSLakshminarayana R. Kammath         bus.process_discard();
3916ab00cbSLakshminarayana R. Kammath         bus.wait();
4016ab00cbSLakshminarayana R. Kammath     }
4116ab00cbSLakshminarayana R. Kammath 
4216ab00cbSLakshminarayana R. Kammath     return 0;
4316ab00cbSLakshminarayana R. Kammath }
44