0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

QEMUにマシンを追加する(枠の追加)

Last updated at Posted at 2023-05-08

事前準備編で環境の準備が整っているものとします。

今回は新規マシンを作成し、ビルドと起動まで行います。
作成するマシンは事前準備編で記載した通りRZ/A3ULとします。

ディレクトリ

新規マシンはhw/arm配下に作成します。

Kconfig

configを追加します。

hw/arm/Kconfig

config RZA3UL
    bool
    default y if TCG && ARM
    select I2C
    select SD
    select SERIAL

meson.build

config有効時のコードを追加します。
hw/arm/meson.build

arm_ss.add(when: 'CONFIG_RZA3UL', if_true: files('rza3ul.c'))

マシン実装

hw/arm/rza3ul.cにマシン情報を実装していきます。

#include "qemu/osdep.h"
#include "qemu/units.h"
#include "hw/boards.h"
#include "sysemu/sysemu.h"


static void rza3ul_init(MachineState *machine) {
}

static void rza3ul_machine_init(MachineClass *mc)
{
    mc->desc = "Renesas RZ/A3UL";
    mc->init = &rza3ul_init;
    mc->ignore_memory_transaction_failures = true;
    mc->default_ram_size = 2048 * MiB;
    mc->default_ram_id = "ram";
}

DEFINE_MACHINE("rza3ul", rza3ul_machine_init)

DEFINE_MACHINEで定義したマシン名が起動時に指定するマシン名になります。

ビルド

ビルドが通ることを確認します。

cd ../build
../qemu/configure --target-list=aarch64-softmmu --enable-debug
make

実行

実行できればOKです。

./qemu-system-aarch64 -M rza3ul

QEMUにマシンを追加する(BL1動作)に続きます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?