OSDev.org

The Place to Start for Operating System Developers
It is currently Sat May 25, 2024 1:45 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 4 posts ] 
Author Message
 Post subject: Page for aarch64 with newer cortex
PostPosted: Mon Mar 04, 2024 5:50 am 
Offline
Member
Member

Joined: Tue Aug 31, 2021 7:25 am
Posts: 67
Hello,

I've been doing a bit of aarch64 development with the Cortex A72 with Qemu's Virt emulator, and I didn't seem to see any articles on OSDev, or rather anywhere easily available on startup guides, and the one on OSDev for ARM V7-A (https://wiki.osdev.org/ARMv7-A_Bare_Bones) does not really work for this kind of setup, especially since at least with Qemu's Virt emulator, RAM starts at 1GB+, while the article mentions you should set the stack to 0x10000 which will not work since you'll be accessing some memory mapped data.

As well as the fact 32-bit is starting to become quite outdated, it would be nice to make an aarch64 article and help OSDev be a bit more useful for the modern Arm architecture.

I'm happy to write an article for it following the general convention of the above article for ARM V7-A, but specifically for Qemu's Virt emulator, which I feel a lot of people would be using anyways to start off with for developing with aarch64, and using a newer Arm chip, in this case I have been developing with the Cortex A72 which is a modern (ish) chip running ARM V8-A, anyhow the Virt emulator barebones could later be converted by anyone building anything to work with a more specific board with some changes.

Qemu's Virt also supports a RAM framebuffer for display which is quite tricky to setup as you need to perform DMA transfers with Qemu's fw_cfg API, which is very undocumented, let alone for aarch64, and as someone who started learning Arm for my role to do some research on Arm TrustZone, a foundation for this would be very helpful.

In general, I would be interested in writing a barebones article for Arm V8-A with Qemu's Virt board in particular, with a barebones page for a simple graphics framebuffer as well, but want to double check with the community first before I actually start writing something.

Thanks,


Top
 Profile  
 
 Post subject: Re: Page for aarch64 with newer cortex
PostPosted: Mon Mar 04, 2024 3:18 pm 
Offline
Member
Member

Joined: Wed Mar 30, 2011 12:31 am
Posts: 676
YDeeps1 wrote:
I've been doing a bit of aarch64 development with the Cortex A72 with Qemu's Virt emulator, and I didn't seem to see any articles on OSDev, or rather anywhere easily available on startup guides, and the one on OSDev for ARM V7-A (https://wiki.osdev.org/ARMv7-A_Bare_Bones) does not really work for this kind of setup, especially since at least with Qemu's Virt emulator, RAM starts at 1GB+, while the article mentions you should set the stack to 0x10000 which will not work since you'll be accessing some memory mapped data.

You're looking at the wrong page. The AArch64 bare-bones is at QEMU AArch64 Virt Bare Bones.

_________________
toaruos on github | toaruos.org | gitlab | twitter | bim - a text editor


Top
 Profile  
 
 Post subject: Re: Page for aarch64 with newer cortex
PostPosted: Mon Mar 04, 2024 4:42 pm 
Offline
Member
Member

Joined: Tue Aug 31, 2021 7:25 am
Posts: 67
klange wrote:
YDeeps1 wrote:
I've been doing a bit of aarch64 development with the Cortex A72 with Qemu's Virt emulator, and I didn't seem to see any articles on OSDev, or rather anywhere easily available on startup guides, and the one on OSDev for ARM V7-A (https://wiki.osdev.org/ARMv7-A_Bare_Bones) does not really work for this kind of setup, especially since at least with Qemu's Virt emulator, RAM starts at 1GB+, while the article mentions you should set the stack to 0x10000 which will not work since you'll be accessing some memory mapped data.

You're looking at the wrong page. The AArch64 bare-bones is at QEMU AArch64 Virt Bare Bones.

Ah okay, I completely missed that.
But what about a potential page on ramfb/framebuffer for virt on aarch64?


Top
 Profile  
 
 Post subject: Re: Page for aarch64 with newer cortex
PostPosted: Tue Mar 05, 2024 3:45 am 
Offline
Member
Member

Joined: Wed Mar 30, 2011 12:31 am
Posts: 676
YDeeps1 wrote:
Ah okay, I completely missed that.
But what about a potential page on ramfb/framebuffer for virt on aarch64?

I'll note that ramfb is available for all platforms, so a generic article on it would be welcome. (By the way, you can also use other display adapters on AArch64 virt machines, including the bochs one: It's just a PCI device!)

We do have an article on fw_cfg that could be improved with examples for non-x86 arches, since x86 is weird for using I/O ports: https://wiki.osdev.org/QEMU_fw_cfg

_________________
toaruos on github | toaruos.org | gitlab | twitter | bim - a text editor


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group