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

Reply via email to