4
当从源代码构建qemu
时,我发现对于每个CPU
架构,目标列表有两个选项:xx-softmmu
和xx-linux-user
。例如:“xx-softmmu”和“xx-linux-user”之间的区别和关系是什么?
x86_64-softmmu
x86_64-linux-user
我无法搜索两个选项之间的区别。任何人都可以介绍它们之间的区别和关系吗?
当从源代码构建qemu
时,我发现对于每个CPU
架构,目标列表有两个选项:xx-softmmu
和xx-linux-user
。例如:“xx-softmmu”和“xx-linux-user”之间的区别和关系是什么?
x86_64-softmmu
x86_64-linux-user
我无法搜索两个选项之间的区别。任何人都可以介绍它们之间的区别和关系吗?
简而言之,xxx-softmmu将编译qemu-system-xxx,它是xxx架构(系统仿真)的模拟机器。重置时,起点将是该架构的重置向量。而xxx-linux-user,编译qemu-xxx,它允许你在xxx架构(用户模式仿真)中运行用户应用程序。它将寻求用户应用程序的主要功能,并从那里开始执行。
准确地说,它会从可执行文件(通常是'_start')的*入口点*使用用户模式仿真时开始,但是这只是一个细节。 – minmaxavg