What is your OS target architecture?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
User avatar
Trex
Posts: 4
Joined: Wed Nov 21, 2012 8:06 am
Location: Earth

What is your OS target architecture?

Post by Trex »

Hello humans,

I have deeveloped OS in the ARM machine. I think most of the people in this site make OS in x86. Does anybody develop OS in ARM architecture like in my case?
Grrrrrrrrr...
User avatar
Jezze
Member
Member
Posts: 395
Joined: Thu Jul 26, 2007 1:53 am
Libera.chat IRC: jfu
Contact:

Re: What is your OS target architecture?

Post by Jezze »

I've intentionally written mine to support many architectures but right now it only works for x86 but I'm working on a ARM port. I've not made much progress though, I'm still stuck in supervisor mode because I haven't researched enough on how to enable usermode. I wish there was some tutorial on the subject *hint* *hint*
Fudge - Simplicity, clarity and speed.
http://github.com/Jezze/fudge/
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: What is your OS target architecture?

Post by Combuster »

For ARM, no. I do have boot code for 68k, SH4, PPC and SPARC for the fun of it while most development time goes into the x86 end.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
blm768
Member
Member
Posts: 45
Joined: Fri Jun 29, 2012 11:32 am

Re: What is your OS target architecture?

Post by blm768 »

Most of my working code is for ARM (specifically the Raspberry Pi); I've tried a little x86 development, but I decided that it was too complex to make a good learning environment for OS dev. I'd rather have to deal with a few more low-level details than have to take on a mountain of hardware that just keeps expanding every year. :)
Casm
Member
Member
Posts: 221
Joined: Sun Oct 17, 2010 2:21 pm
Location: United Kingdom

Re: What is your OS target architecture?

Post by Casm »

Trex wrote:Hello humans,

I have deeveloped OS in the ARM machine. I think most of the people in this site make OS in x86. Does anybody develop OS in ARM architecture like in my case?
I will try to make it nominally portable, but almost certainly it will never run on anything other than an x86_64.
User avatar
Trex
Posts: 4
Joined: Wed Nov 21, 2012 8:06 am
Location: Earth

Re: What is your OS target architecture?

Post by Trex »

Jezze wrote:I've intentionally written mine to support many architectures but right now it only works for x86 but I'm working on a ARM port. I've not made much progress though, I'm still stuck in supervisor mode because I haven't researched enough on how to enable usermode. I wish there was some tutorial on the subject *hint* *hint*
It is very simple to enable usermode. You have only to setup low 5 bit(mode field) in the CPSR register to 0b10000(user mode) using MSR/MRS instructions.

If you mean the context swich about SVC to USER mode, please refer to this link.
Grrrrrrrrr...
User avatar
Trex
Posts: 4
Joined: Wed Nov 21, 2012 8:06 am
Location: Earth

Re: What is your OS target architecture?

Post by Trex »

blm768 wrote:Most of my working code is for ARM (specifically the Raspberry Pi); I've tried a little x86 development, but I decided that it was too complex to make a good learning environment for OS dev. I'd rather have to deal with a few more low-level details than have to take on a mountain of hardware that just keeps expanding every year. :)
I aggree.

The x86 architecture is too complex than other architecture. Well, most of the people are using the x86 personal computer even now. I think the x86 architecture is disorderly because it has evolved considerd backward compatibility. Nevertheless, the low level programmig in the x86 machine is still interesting due to accessibility. I just don't like it. :?
Grrrrrrrrr...
cb88
Member
Member
Posts: 38
Joined: Sun Mar 07, 2010 4:06 pm

Re: What is your OS target architecture?

Post by cb88 »

@Combuster you say you have Sparc boot code? is that 32bit or 64bit? I thought you might have the code up on your webpage but it seems to be down.
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: What is your OS target architecture?

Post by Combuster »

cb88 wrote:@Combuster you say you have Sparc boot code? is that 32bit or 64bit? I thought you might have the code up on your webpage but it seems to be down.
Actually, the free DNS provider is down - which is not nice of them at all.

I updated the URLs, things should work again - direct link - but you might have a more useful read with the wiki version of it
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
AbstractYouShudNow
Member
Member
Posts: 92
Joined: Tue Aug 14, 2012 8:51 am

Re: What is your OS target architecture?

Post by AbstractYouShudNow »

Currently, I have done about 2 years of architecture thinking, without any code. I am just starting my OS and still making big changes in my design. Currently, I am only in the early stage, writing my OS loader in x86 real mode. All I have is a (very) big stack of paper containing extensively large memory schemes, functionnal schemas, graphs, and a big directory full of performance study reports I did for myself.

I am planning to first implement the OS in real mode, then in x86_64. I then plan on porting it to ARM (mainly so I can run it on my phone and gaming console), but I don't really know where I could find documentation for the ARM platform (for x86, it's been easy : I just went to Intel website and grabbed the combined PDF version of the Intel Manuals).

Anyways, I plan on making my OS design architecture-independant. For that purpose, I'll use a tree-like architecture where each node defines things to be implemented, with the sub-nodes being optionnal components that may be implemented for better performance. With a generic enough interface, I hope I'll be able to rewrite the tree components implementation without to recompile the kernel itself (see my topic My topic on that ).
zeusk
Posts: 16
Joined: Fri Sep 14, 2012 1:09 pm

Re: What is your OS target architecture?

Post by zeusk »

AbstractYouShudNow wrote:I am planning to first implement the OS in real mode, then in x86_64. I then plan on porting it to ARM (mainly so I can run it on my phone and gaming console), but I don't really know where I could find documentation for the ARM platform (for x86, it's been easy : I just went to Intel website and grabbed the combined PDF version of the Intel Manuals).
My main sources for information (for ARM) are:
  • ARM ARM for ARMv7 (Architectural Reference Manual for the specific architecture revision of my chip).
  • Cortex A8 Technical Reference Manual (The specific chip I'm working with).
  • ARM Online Docs (Mostly point1 + point2 but might have some more info regarding the topic).
  • Google (Does this need any explanation ?)
  • Linux (Personally, I think linux is a disaster but nonetheless, it works unlike my OS)
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: What is your OS target architecture?

Post by Brendan »

Hi,
AbstractYouShudNow wrote:I am planning to first implement the OS in real mode, then in x86_64. I then plan on porting it to ARM (mainly so I can run it on my phone and gaming console), but I don't really know where I could find documentation for the ARM platform (for x86, it's been easy : I just went to Intel website and grabbed the combined PDF version of the Intel Manuals).
I can't understand why anyone would bother implementing an OS for real mode - there are major disadvantages (tools are scarce, memory is extremely limited, etc), and there are no advantages. Basically it only makes sense if you need to support 8086 CPUs, but users stopped using 8086 CPUs 30 years ago.

Some people make the mistake of thinking that using real mode might be easier because you can avoid the need to write device drivers and use the BIOS instead. These people are wrong - the BIOS doesn't support most hardware (typically no networking, no CD/DVD, no sound, almost no USB, etc), and for devices that the BIOS does support (mostly just disk IO) the BIOS's support is bad and (even for a real mode OS) you'd need to write your own drivers and avoid the BIOS just to get acceptable performance.


Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
halofreak1990
Member
Member
Posts: 41
Joined: Thu Aug 09, 2012 5:10 am

Re: What is your OS target architecture?

Post by halofreak1990 »

With my OS, I'm mainly targeting x86 (Pentium 3 and up), but I try to write the code as portable as possible, leaving architecture-specific code to assembly routines, which need to be different per architecture anyways.
<PixelToast> but i cant mouse

Porting is good if you want to port, not if you want maximum quality. -- sortie
Post Reply