Giter VIP home page Giter VIP logo

Comments (10)

ArsenShnurkov avatar ArsenShnurkov commented on June 22, 2024

this sample code also gives panic message - http://pastehtml.com/view/ea137scgl.html

Mosa.Kernel.x86 VirtualPageAllocator.Reserve(67108864) have pages = 254 (and 16385 was requested)

TotalPages(1040640) < ReserveMemory(33554432)

i added command line argument -m 512M into the ./Run/Run-QEMU.sh

now the system reboots in line
https://github.com/mosa/MOSA-Project/blob/master/Source/Mosa.Kernel.x86/PageTable.cs#L42

from mosa-project.

charsleysa avatar charsleysa commented on June 22, 2024

Hi @ArsenShnurkov

I've tried to replicate your issues but cannot replicate them on Windows.

Can you please make sure that you have the latest copy of the repository.

Can you please make sure that your setup of QEMU matches the Windows setup.

from mosa-project.

tgiphil avatar tgiphil commented on June 22, 2024

I was able to re-create the problem on Windows by copying the Linux/Mono generated assemblies to Windows.

The test suite runs fine except for a few failed cases related to double/single floating point. But this would not explain the crashes.

from mosa-project.

charsleysa avatar charsleysa commented on June 22, 2024

@tgiphil could it possibly be something to do with Endianess?

If I recall correctly the field value emitter in the Metadata stage doesn't use an endian aware emitter since I kept that code mostly the same.

from mosa-project.

ArsenShnurkov avatar ArsenShnurkov commented on June 22, 2024

It is definitely related to Page Tables & Directory filling.
I rewrote Mosa.Kernel.x86 PageTable class
and it works for me now.

from mosa-project.

tgiphil avatar tgiphil commented on June 22, 2024

Great! Check it in and I will test on Windows.

from mosa-project.

ArsenShnurkov avatar ArsenShnurkov commented on June 22, 2024

it looks something like this now:

https://github.com/ArsenShnurkov/MOSA-Project/blob/fdc1b6e00a93a3f76a42cd717b6e8982705a44ea/Source/Mosa.Kernel.x86/PageTable.cs

from mosa-project.

tgiphil avatar tgiphil commented on June 22, 2024

This change exposed what I believe is a bug in the register allocator. It attempts to generate a move between two memory locations - which is not feasible on the x86.

I'll try to hunt it down and fix it tonight.

from mosa-project.

tgiphil avatar tgiphil commented on June 22, 2024

@ArsenShnurkov - I believe the bug has been fixed in ImproveRegisterAllocator branch in my repo. The register allocator was refactored. At the moment the very basic (no thrills) register allocator has been implemented and tested successfully on Windows. However, can you please test it on your Linux platform?

from mosa-project.

ArsenShnurkov avatar ArsenShnurkov commented on June 22, 2024

works for me (I just tested your branch as is, without any patches)

from mosa-project.

Related Issues (20)

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.