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 --remoteRepositori 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 pushStrategi 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 stablegit 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 stablegit checkout example-1Untuk melihat daftar semua cabang yang tersedia, Anda dapat menjalankan:
git branch