Thanks Gabe. It worked. Using the following inline assembly from my OS C code shuts down the full system simulator. (We have to emit the instruction opcode using inline assembly)
__asm__ volatile (".word 0x040F; .word 0x0021;" : : "D"(0) :); On Thu, Mar 11, 2021 at 10:24 AM Gabe Black via gem5-users <gem5-users@gem5.org> wrote: > > Hi Deepak. On a real system, you would probably use ACPI to tell the chipset > to power down the machine, but on gem5 you can probably just run the "exit" > pseudo instruction which will tell gem5 to exit back to the python config > file. > > Gabe > > On Wed, Mar 10, 2021 at 2:07 AM Deepak Mohan via gem5-users > <gem5-users@gem5.org> wrote: >> >> Hi, >> I was implementing an x86 operating system that runs on gem5 >> simulator. I have to implement the shutdown functionality for the OS. >> From my initial research I found out that I have to use the ACPI for >> implementing shutdown (using outw(PM1a_CNT, SLP_TYPa | SLP_EN ); ). >> But the values of PM1a_CNT, SLP_TYPa and SLP_EN has to be gathered >> from the DSDT table of ACPI. When I searched the gem5 source for the >> DSDT table, I was unable to find it (there was classes defined for >> RSDT and XSDT tables). >> Can anyone please give any pointers towards where to search ? Or are >> there any other methods to shutdown the x86 Full system simulation ? >> >> Thanks, >> Deepak Mohan >> _______________________________________________ >> gem5-users mailing list -- gem5-users@gem5.org >> To unsubscribe send an email to gem5-users-le...@gem5.org >> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s > > _______________________________________________ > gem5-users mailing list -- gem5-users@gem5.org > To unsubscribe send an email to gem5-users-le...@gem5.org > %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s _______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s