tspink / infos Goto Github PK
View Code? Open in Web Editor NEWThe School of Informatics (University of Edinburgh) Research Operating System
License: MIT License
The School of Informatics (University of Edinburgh) Research Operating System
License: MIT License
Hi!
Out of interest (and since the university currently recommends self-isolation), I was trying to build InfOS locally on my Windows laptop.
I am using Windows 10 and MinGW64 8.1.0 (x86_64-8.1.0-posix-seh-rt_v6-rev0)
I could not manage to get it to build and I was not sure whether this is a bug with InfOS, MinGW or g++, any advice would be much appreciated.
Make in the infos root directory fails with:
$ make
CXX arch/x86/cpu.o
cc1plus.exe: error: code model kernel does not support PIC mode
I've looked into this and all information I could find says to compile with -fno-pic
(or -fno-PIC
). However, line 20 of the Makefile already has export common-flags := -I$(inc-dir) -nostdinc -nostdlib -g -Wall -O3 -std=gnu++17 -fno-pic
.
It's as if the flag is just ignored - there is no difference if I remove it.
It seems like this has nothing to do with flag positionality either, as moving the flag in different places (including adding it inline to make targets) did not change anything at all.
I'm currently trying to get Doom to run on this OS and noticed an issue with the memory management initialisation. It has to do with multiboot information, multiboot_info_structure
is a pointer to information provided by multiboot, specified here. What I'm trying to access is the framebuffer pointer.
Line 124 in bde83d6
However accessing this structure after mm_init
would lead to reads on a null page. Which is caused by this line here.
Line 81 in bde83d6
I'm not sure why the pages are zeroed out, my guess is that it's meant to be a form of memory protection, but multiboot_info_structure
is accessed later on in modules_init
.
Line 21 in bde83d6
The result is that mods_count
would be 0 and effectively renders this function dead code. No multiboot modules would then be initialised.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.