Giter VIP home page Giter VIP logo

infos's People

Contributors

dgiantsidi avatar kimbethstonehouse avatar tspink avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

infos's Issues

Building InfOS with MinGW64 on Windows

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.

Zeroing pages during memory initialisation produces dead code

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.

multiboot_info_structure = (struct multiboot_info *)pa_to_kva(__multiboot_ebx);

However accessing this structure after mm_init would lead to reads on a null page. Which is caused by this line here.

bzero(pml4, (1 << 4) * 0x1000);

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.

for (unsigned int i = 0; i < multiboot_info_structure->mods_count; i++) {

The result is that mods_count would be 0 and effectively renders this function dead code. No multiboot modules would then be initialised.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.