mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-18 16:26:31 +00:00
新增网络socket的系统调用接口 (#247)
1.修复spinlock忘记恢复rflags的问题 2.WaitQueue增加wakeup_all的功能 3.完善tcp,udp,raw socket 4.把PollStatus结构体改为使用bitflags 5.新增iovec结构体 6.完成网络的系统调用 7.在bootstrap里面添加dnsmasq bridge-utils iptables --------- Co-authored-by: guanjinquan <1666320330@qq.com>
This commit is contained in:
@ -1,9 +1,40 @@
|
||||
check_dependencies()
|
||||
{
|
||||
# Check if qemu is installed
|
||||
if [ -z "$(which qemu-system-x86_64)" ]; then
|
||||
echo "Please install qemu first!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if brctl is installed
|
||||
if [ -z "$(which brctl)" ]; then
|
||||
echo "Please install bridge-utils first!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if dnsmasq is installed
|
||||
if [ -z "$(which dnsmasq)" ]; then
|
||||
echo "Please install dnsmasq first!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if iptable is installed
|
||||
if [ -z "$(which iptables)" ]; then
|
||||
echo "Please install iptables first!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
check_dependencies
|
||||
|
||||
# 进行启动前检查
|
||||
flag_can_run=1
|
||||
ARGS=`getopt -o p -l bios:,display: -- "$@"`
|
||||
eval set -- "${ARGS}"
|
||||
echo "$@"
|
||||
allflags=$(qemu-system-x86_64 -cpu help | awk '/flags/ {y=1; getline}; y {print}' | tr ' ' '\n' | grep -Ev "^$" | sed -r 's|^|+|' | tr '\n' ',' | sed -r "s|,$||")
|
||||
allflags=
|
||||
# allflags=$(qemu-system-x86_64 -cpu help | awk '/flags/ {y=1; getline}; y {print}' | tr ' ' '\n' | grep -Ev "^$" | sed -r 's|^|+|' | tr '\n' ',' | sed -r "s|,$||")
|
||||
ARCH="x86_64"
|
||||
#ARCH="i386"
|
||||
# 请根据自己的需要,在-d 后方加入所需的 trace 事件
|
||||
@ -17,7 +48,6 @@ if [ $(uname) == Darwin ]; then
|
||||
qemu_accel=hvf
|
||||
fi
|
||||
|
||||
|
||||
QEMU=qemu-system-x86_64
|
||||
QEMU_DISK_IMAGE="../bin/disk.img"
|
||||
QEMU_MEMORY="512M"
|
||||
@ -29,7 +59,10 @@ QEMU_RTC_CLOCK="clock=host,base=localtime"
|
||||
QEMU_SERIAL="file:../serial_opt.txt"
|
||||
QEMU_DRIVE="id=disk,file=${QEMU_DISK_IMAGE},if=none"
|
||||
|
||||
QEMU_DEVICES="-device ahci,id=ahci -device ide-hd,drive=disk,bus=ahci.0 -nic user,model=virtio-net-pci -usb -device qemu-xhci,id=xhci,p2=8,p3=4 -machine accel=${qemu_accel} -machine q35"
|
||||
|
||||
# ps: 下面这条使用tap的方式,无法dhcp获取到ip,暂时不知道为什么
|
||||
# QEMU_DEVICES="-device ahci,id=ahci -device ide-hd,drive=disk,bus=ahci.0 -net nic,netdev=nic0 -netdev tap,id=nic0,model=virtio-net-pci,script=qemu/ifup-nat,downscript=qemu/ifdown-nat -usb -device qemu-xhci,id=xhci,p2=8,p3=4 -machine accel=${qemu_accel} -machine q35 "
|
||||
QEMU_DEVICES="-device ahci,id=ahci -device ide-hd,drive=disk,bus=ahci.0 -nic user,model=virtio-net-pci,hostfwd=tcp::12580-:12580 -usb -device qemu-xhci,id=xhci,p2=8,p3=4 -machine accel=${qemu_accel} -machine q35 "
|
||||
|
||||
QEMU_ARGUMENT="-d ${QEMU_DISK_IMAGE} -m ${QEMU_MEMORY} -smp ${QEMU_SMP} -boot order=d -monitor ${QEMU_MONITOR} -d ${qemu_trace_std} "
|
||||
|
||||
|
Reference in New Issue
Block a user