Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add More Platform Support For Uthread #34

Open
2 tasks
RainMark opened this issue Mar 3, 2022 · 10 comments
Open
2 tasks

Add More Platform Support For Uthread #34

RainMark opened this issue Mar 3, 2022 · 10 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed

Comments

@RainMark
Copy link
Collaborator

RainMark commented Mar 3, 2022

Search before asking

  • I searched the issues and found no similar issues.

What happened + What you expected to happen

the low level context switch of uthread came from boost.context。
uthread only support x86_64 and arm currently, we can add more platform support with boost.context

Are you willing to submit a PR?

  • Yes I am willing to submit a PR!
@RainMark RainMark added good first issue Good for newcomers help wanted Extra attention is needed labels Mar 3, 2022
@4kangjc
Copy link
Collaborator

4kangjc commented Oct 25, 2022

看起来这个很简单,从boost上把代码扒下来,然后改个名字,在CMakeLists里加一下就可以里,准备再添加其他什么平台呢?

@RainMark
Copy link
Collaborator Author

看起来这个很简单,从boost上把代码扒下来,然后改个名字,在CMakeLists里加一下就可以里,准备再添加其他什么平台呢?

是的,主要是可能需要在新加入的平台也做些测试,你感兴趣的话愿意搞一下吗?

@4kangjc
Copy link
Collaborator

4kangjc commented Oct 25, 2022

看起来这个很简单,从boost上把代码扒下来,然后改个名字,在CMakeLists里加一下就可以里,准备再添加其他什么平台呢?

是的,主要是可能需要在新加入的平台也做些测试,你感兴趣的话愿意搞一下吗?

没有其他平台的机器,不太好测试哇

@4kangjc
Copy link
Collaborator

4kangjc commented Oct 25, 2022

@RainMark
Copy link
Collaborator Author

看起来这个很简单,从boost上把代码扒下来,然后改个名字,在CMakeLists里加一下就可以里,准备再添加其他什么平台呢?

是的,主要是可能需要在新加入的平台也做些测试,你感兴趣的话愿意搞一下吗?

没有其他平台的机器,不太好测试哇

嗯,看看在虚拟机里能不能测测看,pr你可以先提着

@4kangjc
Copy link
Collaborator

4kangjc commented Oct 25, 2022

看起来这个很简单,从boost上把代码扒下来,然后改个名字,在CMakeLists里加一下就可以里,准备再添加其他什么平台呢?

是的,主要是可能需要在新加入的平台也做些测试,你感兴趣的话愿意搞一下吗?

没有其他平台的机器,不太好测试哇

嗯,看看在虚拟机里能不能测测看,pr你可以先提着

我试一下

@4kangjc
Copy link
Collaborator

4kangjc commented Oct 26, 2022

看起来这个很简单,从boost上把代码扒下来,然后改个名字,在CMakeLists里加一下就可以里,准备再添加其他什么平台呢?

是的,主要是可能需要在新加入的平台也做些测试,你感兴趣的话愿意搞一下吗?

没有其他平台的机器,不太好测试哇

嗯,看看在虚拟机里能不能测测看,pr你可以先提着

我试一下

更新一下进展吧,用qemu模拟了一下ppc64_le架构
参考
alpine linux on qemu
ppc64le on x86_64: QEMU full-system emulation
目前编译通过
Screenshot_20221026_151020
但是跑async_simple_uthread_testtestSwitch出项段错误,testSwitch finish是我加到while后面的代码
Screenshot_20221026_145338
gdb下core在了testScheduleInTwoThread
Screenshot_20221026_150134

@4kangjc
Copy link
Collaborator

4kangjc commented Oct 26, 2022

看起来这个很简单,从boost上把代码扒下来,然后改个名字,在CMakeLists里加一下就可以里,准备再添加其他什么平台呢?

是的,主要是可能需要在新加入的平台也做些测试,你感兴趣的话愿意搞一下吗?

没有其他平台的机器,不太好测试哇

嗯,看看在虚拟机里能不能测测看,pr你可以先提着

我试一下

更新一下进展吧,用qemu模拟了一下ppc64_le架构 参考 alpine linux on qemu ppc64le on x86_64: QEMU full-system emulation 目前编译通过 Screenshot_20221026_151020 但是跑async_simple_uthread_testtestSwitch出项段错误,testSwitch finish是我加到while后面的代码 Screenshot_20221026_145338 gdb下core在了testScheduleInTwoThread Screenshot_20221026_150134

最基本的换入换出能力还是有的

@4kangjc
Copy link
Collaborator

4kangjc commented Oct 26, 2022

Screenshot_20221026_175539

@4kangjc
Copy link
Collaborator

4kangjc commented Oct 28, 2022

看起来这个很简单,从boost上把代码扒下来,然后改个名字,在CMakeLists里加一下就可以里,准备再添加其他什么平台呢?

是的,主要是可能需要在新加入的平台也做些测试,你感兴趣的话愿意搞一下吗?

没有其他平台的机器,不太好测试哇

嗯,看看在虚拟机里能不能测测看,pr你可以先提着

我试一下

更新一下进展吧,用qemu模拟了一下ppc64_le架构 参考 alpine linux on qemu ppc64le on x86_64: QEMU full-system emulation 目前编译通过 Screenshot_20221026_151020 但是跑async_simple_uthread_testtestSwitch出项段错误,testSwitch finish是我加到while后面的代码 Screenshot_20221026_145338 gdb下core在了testScheduleInTwoThread Screenshot_20221026_150134

最基本的换入换出能力还是有的

I just add sleep 1 after while (running) {}, and then passed all tests,我再看看代码

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants