Comments (5)
Yes, I've been chasing this bug as well. I have not been able to narrow down the root cause yet - its deeper than ConsoleManager::Setup(). Any help would be appreciated.
from mosa-project.
I have managed to narrow done the issue to the allocation of objects, took me a while since the record function of the Tiny Simulator slows down simulation by about 1000%.
from mosa-project.
@tgiphil I've found the cause of the issue.
The KernelMemory::AllocateMemory method has been stubbed and the heap was pointing to address 0x300000 which is fine for Bochs but in TinySimulator all memory sections must be explicitly defined and that section of memory is not.
Since we aren't using PageTables by the looks of it, I have just changed the heap to point to 0x2000000 which is the 32MB mark which is the start of Free Memory.
This is only a temporary work around needed until KernelMemory::AllocateMemory has been reimplemented.
from mosa-project.
Good catch on the heap issue.
from mosa-project.
There appears to be in a bug in the PHI placement. Notice that the PHI instruction does not have enough operands. There should be one per incoming block:
System.String Mosa.DeviceSystem.PCI.ClassCodeTable::Lookup(System.Byte) after stage [11] PhiPlacementStage:
Block #29 - Label L_0133
Prev: L_0061, L_006C, L_0077, L_0082, L_008D, L_0098, L_00A3, L_00AE, L_00B6, L_00BE, L_00C6, L_00CE, L_00D6, L_00DE, L_00E6, L_00EE, L_00F6, L_00FE, L_0106, L_012B, L_0123
L_0133 IR.BlockStart
L_0133 IR.Phi V_35 [System.Int32] <= V_35 [System.Int32], V_35 [System.Int32], V_35 [System.Int32], V_35 [System.Int32], V_35 [System.Int32]
L_0133 IR.Phi V_36 [System.String] <= V_36 [System.String], V_36 [System.String], V_36 [System.String], V_36 [System.String], V_36 [System.String]
L_0133 IR.Move V_34 [System.String] <= V_36 [System.String]
L_0134 IR.Return V_34 [System.String] L_7FFFFFFF
L_0134 IR.BlockEnd
Next: L_7FFFFFFF
from mosa-project.
Related Issues (20)
- Assertion fails during ComputeArgumentSize HOT 7
- Adding DeviceService to ServiceManager causes a `System.IndexOutOfRangeException` HOT 2
- BUG: Conversion from R4/R8 to U4 HOT 2
- Add ARM64 Opcodes HOT 3
- Create ARM64 Projects HOT 2
- Add ARM32/ARM64 Launch options to Qemu HOT 1
- Optimize Integer Division with Constant Values HOT 1
- BUG: Register allocator - overlapping live ranges HOT 1
- Optimization: PHI Instruction Improvement
- Unit Tests: IntegerTwiddling and BitTwiddling classes
- Merge Korlib.Plug.* and Runtime.* projects HOT 1
- Export Counters to File
- Create CPU Registers
- Integrate BitTracker into Basic Optimization Stage (Part 2)
- Track Counter Files between Git versions
- X86 Expanded LEA instruction
- Add ARM32 UART Serial Controller HOT 2
- Add ARM32 Interrupt Vector Table HOT 1
- Add X86/X64 RDSEED Instruction
- Add More Statistic Counters
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mosa-project.