mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	organize linux-testgen folder, add readme to describe Buildroot process, add Buildroot config source files
This commit is contained in:
		
							parent
							
								
									4f1a85ca7c
								
							
						
					
					
						commit
						44a48cf28d
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -28,5 +28,6 @@ wally-pipelined/linux-testgen/nohup*
 | 
				
			|||||||
wally-pipelined/linux-testgen/x*
 | 
					wally-pipelined/linux-testgen/x*
 | 
				
			||||||
!wally-pipelined/linux-testgen/linux-testvectors/tvCopier.py
 | 
					!wally-pipelined/linux-testgen/linux-testvectors/tvCopier.py
 | 
				
			||||||
!wally-pipelined/linux-testgen/linux-testvectors/tvLinker.sh
 | 
					!wally-pipelined/linux-testgen/linux-testvectors/tvLinker.sh
 | 
				
			||||||
 | 
					wally-pipelined/linux-testgen/buildroot/
 | 
				
			||||||
wally-pipelined/regression/slack-notifier/slack-webhook-url.txt
 | 
					wally-pipelined/regression/slack-notifier/slack-webhook-url.txt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										35
									
								
								wally-pipelined/linux-testgen/WALLY-README.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								wally-pipelined/linux-testgen/WALLY-README.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,35 @@
 | 
				
			|||||||
 | 
					If you do not need to update the Linux image, then go to ./linux-testvectors and 
 | 
				
			||||||
 | 
					use tvCopier.py or tvLinker.sh to copy/link premade RAMs and testvectors from Tera.
 | 
				
			||||||
 | 
					The RAMs are needed for Wally to run the Linux code, and the testvectors are needed
 | 
				
			||||||
 | 
					to verify Wally is executing the code correctly.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you instead wish to regenerate the RAMs and testvectors from a new Linux image,
 | 
				
			||||||
 | 
					you'll need to build the new Linux image, simulate it, and parse its output,
 | 
				
			||||||
 | 
					as described below.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* To build a new Linux image, Git clone the Buildroot repository to ./buildroot.
 | 
				
			||||||
 | 
					    For reference, most recent commit made to the Buildroot repo was
 | 
				
			||||||
 | 
					    as of last generating the image found on Tera:
 | 
				
			||||||
 | 
					        commit 4047e10ed6e20492bae572d4929eaa5d67eed746
 | 
				
			||||||
 | 
					        Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
 | 
				
			||||||
 | 
					        Date:   Wed Jun 30 06:27:10 2021 +0200
 | 
				
			||||||
 | 
					    Then link ./buildroot-config-src/main.config to ./buildroot/.config.
 | 
				
			||||||
 | 
					    That config file will in turn point to the other config files in ./buildroot-config-src.
 | 
				
			||||||
 | 
					    If you wish to modify the configs, then
 | 
				
			||||||
 | 
					    1. Copy ./buildroot-config-src/linux.config   to ./buildroot/output/build/linux-5.10.7/.config
 | 
				
			||||||
 | 
					    2. Copy ./buildroot-config-src/busybox.config to ./buildroot/output/build/busybox-1.33.1/.config
 | 
				
			||||||
 | 
					    3. Run "make menuconfig" "make linux-menuconfig" "make busybox-menuconfig" as needed.
 | 
				
			||||||
 | 
					    4. Copy ./buildroot/output/build/linux-5.10.7/.config   back to ./buildroot-config-src/linux.config 
 | 
				
			||||||
 | 
					    5. Copy ./buildroot/output/build/busybox-1.33.1/.config back to ./buildroot-config-src/busybox.config 
 | 
				
			||||||
 | 
					    (*** There may be a better way to do this, but do know that setting up main.config
 | 
				
			||||||
 | 
					    to point to those two locations within the Buildroot repo results in interesting
 | 
				
			||||||
 | 
					    ".config is the same as .config" errors.)
 | 
				
			||||||
 | 
					    Then finally you can run make. Note that it may be necessary to rerun make twice,
 | 
				
			||||||
 | 
					    once when main.config asks for an "Image" output, and once when main.config
 | 
				
			||||||
 | 
					    "vmlinux" output.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* To generate new RAMs and testvectors from a Linux image,
 | 
				
			||||||
 | 
					    link ./buildroot-image-output to either your new image in ./buildroot/output/image 
 | 
				
			||||||
 | 
					    or the existing image at /courses/e190ax/buildroot/output/image on Tera. 
 | 
				
			||||||
 | 
					    Then run ./testvector-generation/logBuildrootMem.sh to generate RAMs.
 | 
				
			||||||
 | 
					    Then run ./testvector-generation/logAllBuildroot.sh to generate testvectors.
 | 
				
			||||||
							
								
								
									
										1195
									
								
								wally-pipelined/linux-testgen/buildroot-config-src/busybox.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1195
									
								
								wally-pipelined/linux-testgen/buildroot-config-src/busybox.config
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										3411
									
								
								wally-pipelined/linux-testgen/buildroot-config-src/linux.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3411
									
								
								wally-pipelined/linux-testgen/buildroot-config-src/linux.config
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										3884
									
								
								wally-pipelined/linux-testgen/buildroot-config-src/main.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3884
									
								
								wally-pipelined/linux-testgen/buildroot-config-src/main.config
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -1,9 +1,10 @@
 | 
				
			|||||||
set pagination off
 | 
					set pagination off
 | 
				
			||||||
target extended-remote :1234
 | 
					target extended-remote :1234
 | 
				
			||||||
 | 
					maint print symbols symbols.txt
 | 
				
			||||||
b *0x000000008020103c
 | 
					b *0x000000008020103c
 | 
				
			||||||
c
 | 
					c
 | 
				
			||||||
del 1
 | 
					del 1
 | 
				
			||||||
stepi 100
 | 
					stepi 100000
 | 
				
			||||||
set confirm off
 | 
					set confirm off
 | 
				
			||||||
kill
 | 
					kill
 | 
				
			||||||
q
 | 
					q
 | 
				
			||||||
@ -24,7 +24,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Uncomment this version in case you just want to have qemu_in_gdb_format.txt around
 | 
					# Uncomment this version in case you just want to have qemu_in_gdb_format.txt around
 | 
				
			||||||
# It is often helpful for general debugging
 | 
					# It is often helpful for general debugging
 | 
				
			||||||
(qemu-system-riscv64 -M virt -nographic -bios /courses/e190ax/qemu_sim/rv64_initrd/buildroot_experimental/output/images/fw_jump.elf -kernel /courses/e190ax/qemu_sim/rv64_initrd/buildroot_experimental/output/images/Image -append "root=/dev/vda ro" -initrd /courses/e190ax/qemu_sim/rv64_initrd/buildroot_experimental/output/images/rootfs.cpio -d nochain,cpu,in_asm -serial /dev/null -singlestep -s -S 2>&1 >/dev/null | ./parse_qemu.py >/courses/e190ax/buildroot_boot/qemu_in_gdb_format.txt) & riscv64-unknown-elf-gdb -x gdbinit_qemulog
 | 
					#(qemu-system-riscv64 -M virt -nographic -bios /courses/e190ax/qemu_sim/rv64_initrd/buildroot_experimental/output/images/fw_jump.elf -kernel /courses/e190ax/qemu_sim/rv64_initrd/buildroot_experimental/output/images/Image -append "root=/dev/vda ro" -initrd /courses/e190ax/qemu_sim/rv64_initrd/buildroot_experimental/output/images/rootfs.cpio -d nochain,cpu,in_asm -serial /dev/null -singlestep -s -S 2>&1 >/dev/null | ./parse_qemu.py >/courses/e190ax/buildroot_boot/qemu_in_gdb_format.txt) & riscv64-unknown-elf-gdb -x gdbinit_qemulog
 | 
				
			||||||
# Split qemu_in_gdb_format.txt into chunks of 100,000 instructions for easier inspection
 | 
					# Split qemu_in_gdb_format.txt into chunks of 100,000 instructions for easier inspection
 | 
				
			||||||
#cd /courses/e190ax/buildroot_boot
 | 
					#cd /courses/e190ax/buildroot_boot
 | 
				
			||||||
#split -d -l 5600000 qemu_in_gdb_format.txt --verbose
 | 
					#split -d -l 5600000 qemu_in_gdb_format.txt --verbose
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user