Repositori ini telah dirancang untuk digunakan dalam tutorial gem5. Itu dibangun dengan asumsi pengguna akan menggunakan Codespaces untuk mempelajari gem5.
Repositori berisi direktori berikut:
Catatan: 'gem5' dan 'gem5-resources' adalah submodul meskipun file .devcontainer/devcontainer.json menetapkan bahwa perintah git module update --init --recursive
dijalankan ketika kontainer Codespace Docker dibuat.
Kontainer yang digunakan oleh Codespaces dibuat dari .devcontainer/Dockerfile. Ini berisi:
/usr/local/bin/gem5-x86
/usr/local/bin/gem5-arm
/usr/local/bin/gem5-riscv
/opt/cross-compiler/riscv64-linux/
./opt/cross-compiler/aarch64-linux/
. Berikut ini dapat digunakan dalam wadah Codespace untuk langsung menjalankan simulasi gem5 dasar:
gem5-arm gem5/configs/example/gem5_library/arm-hello.py
Ini akan menjalankan pesan "Halo dunia!" program di dalam sistem ARM yang disimulasikan.
Dalam proyek ini kami memiliki dua submodul: 'gem5' dan 'gem5-resources'. Ini secara otomatis diperoleh ketika ruang kode diinisialisasi. Pada saat penulisan, direktori 'gem5' diperiksa ke cabang stabil di v22.0.0.1. Repositori 'gem5-resources' diperiksa ke revisi '871e715', yang harus berisi sumber daya yang diketahui kompatibel dengan gem5 v22.0.
Untuk memperbarui submodul git agar sinkron dengan asal usulnya yang jauh (yang dihosting di sumber Google kami), jalankan perintah berikut:
git submodule update --remote
Repositori ini dapat diperbarui ke submodul yang disinkronkan dengan menjalankan perintah berikut (dengan asumsi Anda memiliki izin yang benar untuk melakukannya):
git add gem5 gem5-resources
git commit -m " git submodules updated "
git push
Strategi yang baik ketika bekerja dengan gem5 adalah dengan menggunakan cabang. Di direktori 'gem5', Anda dapat menggunakan cabang untuk memisahkan pengembangan Anda. Alur kerja umumnya adalah sebagai berikut.
git checkout stable
git branch example-1 # Creating a new branch named 'example-1'.
git checkout example- `
echo " Create a test commit " > test.txt
git add test.txt
git commit -m " misc: Adding a test commit "
git checkout stable
git checkout example-1
Untuk melihat daftar semua cabang yang tersedia, Anda dapat menjalankan:
git branch