foxsen

Results 21 comments of foxsen

发现一个问题,你直接运行内核的时候用vmlinux是错误的,目前龙芯内核采样了efi,应该和我给的run.sh一样用vmlinuz.efi。 这段时间龙芯的内核启动根据上游的需求在变化:以前是直接启动elf格式的vmlinux,根据龙芯固件规范通过acpi或者其他方式传递信息给内核,但最新内核要求采样uefi规范定义的形式,由uefi bios启动efi格式的内核,efi格式内核把内核包装为一个efi bios可以执行的程序。因此老的run_loongarch.sh无法适用于新的内核,uefi bios和efi启动比较重型,其实不利于小的实验性内核,我正在考虑引入u-boot之类比较简单的boot loader,或者不用bootloader

qemu 7.2.0 缺一个支持cfi flash的补丁导致方法1的问题, 在7.2.0上加上这个补丁或者采样qemu最新社区版本可以解决(不过efi boot还有initrd传递等问题,目前devel分支还不完善,等我有空再做完整): commit 288431a1fb9334d5d57ad7d5854d8475b23e7c42 Author: Xiaojuan Yang Date: Mon Nov 7 10:09:47 2022 +0800 hw/loongarch/virt: Add cfi01 pflash device Add cfi01 pflash device for LoongArch virt...

> 如果可以的话希望添加一个引导启动loongnix操作系统的教程。 更新了脚本,可以跑一个用yocto编译出来的定制linux小系统,这个root文件系统是放到硬盘而不是ramdisk上,可以根据需要扩充。目前的loongnix只有ABI 1.0的版本,这个模拟环境采用了ABI 2.0的工具链和内核,直接运行loongnix的应用可能会出现一些不兼容的现象。ABI 2.0的loongarch linux发行版目前只有arch,此外还有一些定制系统,例如CLFS(https://github.com/sunhaiyong1978/CLFS-for-LoongArch, https://github.com/loongson/build-tools/releases/download/2022.09.06/loongarch64-clfs-system-6.3.tar.bz2)。还可以自己用yocto定制发行版(参考https://github.com/foxsen/{poky,meta-loongson}). 如何把一个文件系统的内容制作成qemu能用的镜像文件,可以参考qemu的文档。刚更新的例子用的是raw格式,只要把硬盘ext4分区上的内容dd成一个文件就可以,更省空间的方法是用qemu cow格式,可以用qemu-img创建。

0xffffffc000080000这样的地址不合适。可以参考mini_kernel*那些例子,ld.script。初始化状态下LoongArch的CPU没有使能paging,物理地址和虚拟地址是直接对应,这个地址显然超出了正常物理内存的范围。缺省配置下0-0x10000000是低端物理内存的,然后0x90000000-(内存大小-256M)是高端物理内存的范围。关于模拟器所模拟的机器信息,包括地址分布等,请参考README.md里边的描述。

有维护。新的内容在devel分支,可以用qemu完整运行bios + 内核 + yocto系统。

> 多谢,我运行 `qemu-system-misc` 里的 `qemu-system-loongarch` 命令时,没有任何输出。请问是 README 里提到的需要适配的原因吗 > > ```shell > # QEMU=qemu-system-loongarch64 ./run_loongarch.sh > + qemu-system-loongarch64 -m 4G -smp 1 -bios ./loongarch_bios_0310.bin -kernel ./vmlinux -initrd busybox-rootfs.img -append 'root=/dev/ram...

您说的效率指什么?增加多少带宽和恢复率是算法本身确定的。如果是指编解码的速度,这个我没有仔细调优过,当时自己那个场景觉得够用了(wifi 802.11g无线网络广播)

这个计算总体上是有点复杂,当时还做了上一代raptor的实现,恢复率差些,但是计算量小,不过代码找不到了。

长度的问题,对发送的东西是要适当切块的,不是非得按照应用级包的大小。官方代码我记得是要花钱买的,有预算当然推荐去买。时间久远,当时的资料已经找不到了

应该可以,以前有用它做wifi数据包的恢复。理论上没什么限制,如果包大小差异太大,可以切分下以便等长。