Commit graph

251 commits

Author SHA1 Message Date
valentinbreiz
957a21a299
Update MemoryBlock.cs 2018-09-22 11:12:06 +02:00
José Pedro
03ede6a046
Code cleanup. 2018-09-09 21:22:00 +01:00
fanoI
5659ff5a83 Merge branch 'master' of https://github.com/CosmosOS/Cosmos into MemoryCopyOperations.Copy_work
# Conflicts:
#	Test.sln
#	Tests/Cosmos.TestRunner.Core/Cosmos.TestRunner.Core.csproj
#	Tests/Cosmos.TestRunner.Full/TestKernelSets.cs
2018-08-21 21:50:13 +02:00
fanoI
8691707b52 Created MemoryOperations.Copy that copies128 bytes any iterations using ASM
- VBE (Bochs Graphic Adapter): made bitmap drawing faster using MemoryOperations.Copy
- VBE (Bochs Graphic Adapter): made filled rectangle drawing faster using MemoryOperations.Fill
- Created TestRunner for MemoryOperations
2018-08-21 14:48:10 +02:00
Charles Betros
f75a0b9464 Fix heap allocate performance issue. 2018-08-07 21:18:56 -05:00
José Pedro
227a00d854
Added InternalsVisibleTo build target. 2018-08-05 00:23:49 +01:00
José Pedro
91a9ffc7ff
Fixed unit tests and added them to Test.sln.
Removed compiler unit tests.
2018-08-04 21:30:50 +01:00
José Pedro
45560ee3a6
Merge latest from master. 2018-06-28 21:59:42 +01:00
Valentin Charbonnier
0a06a9af9c Forgot that. 2018-05-08 18:52:28 +02:00
Valentin Charbonnier
0d74cbc934 Change.
It works :D
2018-05-08 18:46:47 +02:00
Valentin Charbonnier
af4f3c1fe5 Fix. 2018-05-06 18:24:47 +02:00
Siaranite
76c277dcbb Renamed IO Ports, proper names from osdev and 8253/8254 documentation 2018-04-14 19:13:15 +01:00
Siaranite
a1c72e1c51 Plugged Console.Beep
Not sure about nuget.exe must've upgraded during build.
2018-04-14 02:12:42 +01:00
José Pedro
274fa3e9a5
Build targets. 2018-03-21 23:05:20 +00:00
José Pedro
3d30e35332
Project file cleanup. 2018-02-15 19:25:36 +00:00
ewoudje
bca8432e0d Real fix for PIT
👍
2018-01-19 21:36:57 +01:00
fanoI
eafd38ecac
Merge pull request #763 from KingLuigi4932/patch-6
[FirstWorking] Implementing AHCI Controller Driver
2018-01-06 20:16:50 +01:00
KingLuigi4932
a2cc139ad3
Update AHCI.cs 2017-12-29 23:36:45 +03:00
KingLuigi4932
c44a4fedfe
Update MemoryBlock.cs 2017-12-28 22:57:11 +03:00
KingLuigi4932
9825304b06
Update MemoryBlock.cs 2017-12-28 22:56:52 +03:00
KingLuigi4932
a8b46bdb6d
Update MemoryBlock.cs 2017-12-28 22:56:06 +03:00
KingLuigi4932
f49beca86b
Update MemoryBlock.cs 2017-12-28 02:42:12 +03:00
KingLuigi4932
d67688b922
Optimizes 2017-12-26 01:15:52 +03:00
KingLuigi4932
ad2fe850b5
Add check if length of buffer is good 2017-12-25 22:22:51 +03:00
KingLuigi4932
47205dc144
Nit: blank space 2017-12-25 21:17:34 +03:00
KingLuigi4932
d4b4bd4d28
[AHCI] First working AHCI Controller! 2017-12-25 08:33:29 +03:00
KingLuigi4932
8d40fc24b7
[AHCIMemGroup] Fix. 2017-12-22 07:40:15 +03:00
KingLuigi4932
9f21ed4af0
[AHCIMemGroup] Init. 2017-12-22 07:30:38 +03:00
KingLuigi4932
49f59bbcef
(Needed) Read and Write Buffer Methods 2017-12-22 06:56:52 +03:00
KingLuigi4932
b836eacbe8
Update MemoryBlock.cs 2017-12-22 02:04:24 +03:00
KingLuigi4932
6f63375a00
Add little line 2017-12-22 00:19:23 +03:00
KingLuigi4932
e25333984e
Read8, Read16, Read32, Write8, Write16, Write32 2017-12-21 23:59:13 +03:00
José Pedro
00a884437a
Cosmos.IL2CPU.API -> IL2CPU.API. 2017-12-10 15:57:12 +00:00
Charles Betros
3cf8c806ca Some type/runtime type worrk. 2017-10-15 11:30:46 -05:00
José Pedro
a63f4eaa5a Moved to .NET Core 2.0. 2017-08-24 19:20:44 +01:00
Kudzu
4a64fbb4ac separation 2017-08-10 18:56:55 -04:00
Kudzu
fa4c223452 Move again because of submodules being less than half baked in git. 2017-08-10 16:04:19 -04:00
Kudzu
fa00b78441 New Cosmos parent dir 2017-08-08 11:29:41 -04:00
Kudzu
ef419df411 AsmMarker 2017-08-04 11:10:02 -04:00
Kudzu
2b3f1c0e54 AsmMarker to use Dictionary 2017-08-04 11:02:54 -04:00
José Pedro
c945893a96 g3 2017-08-03 23:55:32 +01:00
Kudzu
c64597ce6e Attribs NS 2017-08-03 16:46:15 -04:00
Kudzu
221460e191 Attrib NS change 2017-08-03 15:17:34 -04:00
Kudzu
48c00d27ba g3 2017-07-29 13:40:27 -04:00
jp2masa
b88ecd8b5b Merge pull request #704 from valentinbreiz/ACPI
ACPI Improvements.
2017-07-16 22:32:17 +01:00
Valentin Charbonnier
baa9d4caa9 Improvements. 2017-07-16 20:19:49 +02:00
José Pedro
8d6567fe2b PS/2 driver work.
Added MouseManager.
Fixed Ldarg bug.
2017-07-15 19:02:40 +01:00
Kudzu
7a2b62f71d more 2017-07-14 13:47:54 -04:00
Kudzu
d95d0b71b7 Code sorting to RingAttribs phase 1 2017-07-14 12:39:10 -04:00
Kudzu
484c7be346 Merge Cosmos.Core.Memory down into Cosmos.Core 2017-07-13 15:04:52 -04:00
Kudzu
b4ef31c993 Merge Cosmos.Core.Common 2017-07-13 14:38:23 -04:00
Kudzu
dea3fdf0ef Merging 2017-07-13 14:29:05 -04:00
Kudzu
1dfe69bc73 Namespace change in prep for project merge 2017-07-13 14:25:50 -04:00
Kudzu
84b0b0184d Cosmos.IL2CPU.Plugs is now Cosmos.IL2CPU.API 2017-07-13 13:05:05 -04:00
jp2masa
7f3f647197 Merge pull request #671 from valentinbreiz/ACPI
ACPI Implementation (Restart, Shutdown)
2017-07-09 15:19:20 +01:00
José Pedro
1ce42933e3 Updates. 2017-07-06 00:34:04 +01:00
Valentin Charbonnier
ba65f3b479 Bug fixes and additions.
- The user can now Enable and Disable ACPI
- Image change in the setup (for a better design)
- Bug fixed with Remote Debugging (NRE)
2017-07-03 20:27:28 +02:00
Kudzu
09379d9ecc sln 2017-07-02 13:51:27 -04:00
Kudzu
1dbf352c74 ref fixes 2017-07-02 12:21:53 -04:00
Kudzu
71ec45c583 Bin Cache changes 2017-06-28 13:56:00 -04:00
Valentin Charbonnier
1a9e83b632 Some modifications...
ACPI class clarified.
Start ACPI added when starting a Cosmos Kernel project. (it does not
work with remote debugging, the project crash in the VM)
2017-06-21 19:26:08 +02:00
Valentin Charbonnier
78f276aded ACPI.cs moved to Cosmos.Core
(From Cosmos.HAL)
2017-06-21 13:38:40 +02:00
Charles Betros
7468ab1339 Local names and caching. Minor csproj changes. 2017-06-10 12:35:21 -05:00
José Pedro
188f91a983 Project build changes. 2017-05-06 01:37:42 +01:00
José Pedro
5096e3cd90 Merge branch 'master'. 2017-05-04 01:18:50 +01:00
José Pedro
7cc7a8d16b Fixed the debug engine.
Added kernel packages to installation.
2017-05-03 00:34:28 +01:00
Charles Betros
a319a3f97e VS 2017 work. 2017-03-19 09:29:46 -05:00
fanoI
765cc6688a Merge branch 'master' of https://github.com/CosmosOS/Cosmos
# Conflicts:
#	source/Cosmos.HAL/Drivers/VBEDriver.cs
2017-03-05 22:30:05 +01:00
fanoI
db5b713090 CGS is finally ready to be used! Let's merge it...
- To solve the slowness of the MemoryBlock Fill() method when the block has a big size I've created a new class for this MemoryOperations that for now contains only the method Fill() with a part implemented in ASM and with some overloads to semplify its usage from managed code. In future in this class will be added other methods to operate fast on memory for example Cmp() and Copy().
- Adding (not passing) test of the Color struct to the BoxingTest kernel
- Removed BoxingTest kernel inside BCL test: it was a duplicate of the BoxingTest kernel
- Restored correct TestKernelSets
- In the CGS Test kernel the last rectangle is now LimeGreen instead of another type of red (more clear that is working correctly)
- Added to X# the generation of the instruction Shuftps
- Added to X# the generation of the instruction MoveUPS
- Modified Guess Demo to wait for a key press to terminate (it closed suddenly in case the number was guessed)
- The VBE IOMemoryBlock has again size of 1920x1200 (the max usable)
- Added CGS Demo
- Code clean up
2017-03-05 20:32:55 +01:00
José Pedro
1ec74b94a8 Fixes. 2017-02-03 12:53:07 +00:00
Charles Betros
2633005924 Exception regions and assembly ring. 2017-01-31 11:22:59 -06:00
Charles Betros
4e92a523b4 Moved plugs from il2cpu. 2017-01-28 23:04:47 -06:00
Charles Betros
aa08e48366 Get locals 2017-01-28 16:39:30 -06:00
Charles Betros
296ca05ab0 Get references. 2017-01-22 09:07:37 -06:00
Charles Betros
afd18e2f15 Code cleanup and solution cleanup for netcore. 2017-01-15 22:23:56 -06:00
José Pedro
c2d422edf4 Compiler fixes.
Created project.json files for projects that need it.
2017-01-11 00:12:14 +00:00
fanoI
73aa970508 CGS finally works!
Please note that this version works only with Bochs.

- To make it works was needed to renounce to all structures (a part for primitive types) so now Mode and Color are classes.
- Implemented methods of Canvas DrawPoint(), DrawLine() and DrawRect() for now only color depth of 32 bit and integer coordinates are supported
- Changed IoPort of Bochs / VBE to MemoryBlock and not MemoryBlock08 so I can write an 32 bit ARGB color in only an operation instead of 4, this will semplify the future
  work of RGB24 and RGB16 too. Changed the name to the correct one "LinearFrameBuffer".
- Made VBEDriver more object oriented (used enums instead of hardcoded values, created methods and so on...)
- Bugfix in the Pen class there was confusion in the setter / getter of the Color property
- In VBEScreen removed the old code that is not needed anymore, added check to method arguments (that throws in case of fatal errors)
2017-01-08 22:57:27 +01:00
José Pedro
3db5ce43bb Compiler fixes.
Compiler fixes.
Updated project.json files.
Removed *.lock.json files and updated gitignore to ignore them.
Updated some Cosmos.Debug projects.
2017-01-08 14:54:29 +00:00
Charles Betros
88bdb029a9 Progress on net core. 2017-01-03 15:31:21 -06:00
Charles Betros
10cfcbea73 Progress on netcore. 2016-12-28 00:27:54 -06:00
Charles Betros
8d4f634d48 Going with PCL for now to make P2P references easier. 2016-12-19 10:45:38 -06:00
Charles Betros
411ce3e872 Create projects and msbuild targets for dotnet core. 2016-12-13 22:39:41 -06:00
fanoI
4dbad9501d Merge pull request #435 from Unknown6656/date-time-functions
Added Stopwatch, Thread.Sleep and some CPUID implementation
2016-08-24 19:39:12 +02:00
Unknown6656
3ae267a1d5 Switched to expression-bodied methods
Used C#6's feature of expression-bodied methods due to readability and
code size reduction
2016-08-19 16:52:26 +02:00
Unknown6656
593aefad6c sry ... forgot to rename one function occurence
well ... this is awkward ....
2016-08-18 13:18:40 +02:00
Unknown6656
743b6c9a6f Rewritten ASM code to use the XS-class
I have rewritten the code to use the `XSharp.Compiler.XS`-class inside
the plug-file and I have renamed the internal functions
2016-08-18 13:15:33 +02:00
Unknown6656
c950605c71 removed the PlugRequired-Property for the CPUID-functions 2016-08-14 19:46:18 +02:00
Unknown6656
037cfcf459 Implemented Thread::sleep(int) and StopWatch::GetTimestamp() 2016-08-14 19:05:23 +02:00
Unknown6656
d31ac91b97 Added CPUID functions 2016-08-14 18:19:31 +02:00
Unknown6656
19bc57bf7f Revert "Added Stopwatch and Thread.Sleep implementation + added some cpuid-functions"
This reverts commit 1d53deb45e.
2016-08-14 18:04:11 +02:00
Unknown6656
1d53deb45e Added Stopwatch and Thread.Sleep implementation + added some cpuid-functions 2016-08-14 17:54:03 +02:00
fanoI
4e1c505e52 Merge branch 'master' of https://github.com/CosmosOS/Cosmos
# Conflicts:
#	Tests/Cosmos.Compiler.Tests.SingleEchoTest/Kernel.cs
#	source/Cosmos.Assembler/Assembler.cs
#	source/Cosmos.IL2CPU/IL/Add.cs
#	source/Cosmos.IL2CPU/IL/Ceq.cs
#	source/Cosmos.IL2CPU/IL/Cgt.cs
#	source/Cosmos.IL2CPU/IL/Cgt_Un.cs
#	source/Cosmos.IL2CPU/IL/Clt.cs
#	source/Cosmos.IL2CPU/IL/Clt_Un.cs
#	source/Cosmos.IL2CPU/IL/Conv_I2.cs
#	source/Cosmos.IL2CPU/IL/Conv_I4.cs
#	source/Cosmos.IL2CPU/IL/Conv_I8.cs
#	source/Cosmos.IL2CPU/IL/Conv_R4.cs
#	source/Cosmos.IL2CPU/IL/Conv_R_Un.cs
#	source/Cosmos.IL2CPU/IL/Conv_U1.cs
#	source/Cosmos.IL2CPU/IL/Conv_U2.cs
#	source/Cosmos.IL2CPU/IL/Div.cs
#	source/Cosmos.IL2CPU/IL/Mul.cs
#	source/Cosmos.IL2CPU/IL/Sub.cs
2016-06-26 15:02:38 +02:00
Matthijs ter Woord
34ce59e238 Move memory out to a separate project. 2016-06-10 13:01:20 -04:00
Matthijs ter Woord
8dde71adf1 Clarify things a bit. 2016-06-08 19:55:48 -04:00
fanoI
a5bd158514 Merge branch 'master' of https://github.com/CosmosOS/Cosmos
# Conflicts:
#	Tests/Cosmos.Compiler.Tests.Bcl/Kernel.cs
#	source/Cosmos.Core/CPU.cs
2016-05-28 14:33:11 +02:00
sgetaz
2de222bb2d Plug attribute (#196)
Plug required attribute.
2016-05-25 09:17:06 -05:00
fanoI
58c556f085 - Initial work as for https://github.com/CosmosOS/Cosmos/issues/359
- Added Console.Clear() to Guess Demo (the boot text remained on screen)
- Added to BCL test BitConverterTest (all failing), test for single / double arithmetic operations
- Added to TestRunner BCLTest
2016-05-21 18:55:39 +02:00
Charles Betros
0bef9a8fac Updating solution config. 2016-03-13 12:27:58 -05:00
Charles Betros
4a3b6a50df Fixed up project and solution configurations and remove jetbrains annotations. 2016-03-06 17:33:21 -06:00
Charles Betros
ba6070dbe7 String and simple debugger change 2016-02-15 16:02:23 -06:00
Charles Betros
6f50b73386 Changed build configuration 2016-02-15 01:29:03 -06:00
Charles Betros
aaa0bb3eb6 Fixed string split and compare ordinal. Made some chnages to debug nessages to showmring and section. 2016-01-06 22:07:30 -06:00
Charles Betros
7268261324 Fixed bug in heap. Entry index didn't get reset. 2015-12-19 09:04:59 -06:00
Charles Betros
1a2ed6b720 Fixed speed issue with the heap. 2015-12-18 12:28:24 -06:00
fanoI
f566917239 Console modifications
- In MemoryBlock added Fill overloads that accept UInt16
- In TextScreen removed unused variables, magic number and finally the
Clear() method does what is expected!
2015-11-18 23:27:33 +01:00
Matthijs ter Woord
d9a9737608 Filesystem/VFS/FAT work by @charlesbetros has been merged into main kernel.
This does NOT mean it's fully working yet!
2015-10-02 17:12:00 +02:00
Matthijs ter Woord
4769cb2ce6 Fixes for delegates. 2015-09-04 17:51:45 +02:00
Matthijs ter Woord
e3e32744f5 Merging. 2015-09-04 14:11:35 +02:00
Matthijs ter Woord
0b8ce1b4fe Merge branch 'master' into memory_handles
Conflicts:
	source/Cosmos.Core.Plugs/CPUImpl.cs
	source/Cosmos.Core/CPU.cs
2015-09-04 13:50:11 +02:00
zdimension
9e4a11a59b Added Interrupts disabling when reboot called 2015-08-16 17:45:37 +02:00
zdimension
459a72dcad IOPort is not created in loop anymore 2015-08-12 19:12:32 +02:00
zdimension
b538a3c40b Moved the Reboot func from Power to Core.CPU.Reboot 2015-08-12 18:59:19 +02:00
Matthijs ter Woord
903369a59f Small code reformat 2015-08-06 09:02:47 -04:00
Matthijs ter Woord
0a015269a5 Revert debug messages. 2015-08-06 08:41:13 -04:00
Matthijs ter Woord
842adbfefc More fixes.. 2015-08-06 08:34:45 -04:00
Matthijs ter Woord
e030f5b850 Progress. 2015-08-05 17:32:32 -04:00
Matthijs ter Woord
2762604cbc More progress 2015-08-05 14:58:57 -04:00
Matthijs ter Woord
15f2df89b3 More progress. We have a bug in try...finally now.. 2015-08-04 15:32:18 -04:00
Matthijs ter Woord
73758c2643 Ongoing memory work. 2015-07-31 12:46:07 -04:00
Matthijs ter Woord
f2706116c3 Small fix. 2015-07-31 11:56:29 -04:00
Matthijs ter Woord
be0ace5c62 - Turns out the VMT table was not generated correctly: the _Handle datamember wasn't pointing to the actual data area
- small bugfix in heap.
2015-07-31 11:51:27 -04:00
Matthijs ter Woord
675ce71d10 Ongoing work. 2015-07-31 08:34:28 -04:00
Matthijs ter Woord
e91b500738 . 2015-07-29 18:58:42 -04:00
Matthijs ter Woord
7a35344202 More work on memory 2015-07-29 15:35:47 -04:00
Matthijs ter Woord
d6167d6e00 - Add extra logging to GlobalSystemInfo and Heap
- Fixed ldstr and string sending with memory handles
2015-07-29 10:44:52 -04:00
Matthijs ter Woord
0e05e24b9b Somehow debug stub and debug connector is broken now. 2015-07-28 20:30:15 -04:00
Matthijs ter Woord
7858e43584 Ongoing work on memory 2015-07-28 20:18:14 -04:00
Matthijs ter Woord
c442a920d1 Build fix. 2015-07-28 16:58:23 -04:00
Matthijs ter Woord
b56ce24f52 Merge branch 'master' into memory_handles
Conflicts:
	Tests/Cosmos.TestRunner.Core/DefaultEngineConfiguration.cs
2015-07-28 16:30:05 -04:00
Matthijs ter Woord
16f3dab45a I think the default Heap allocates handles now. 2015-07-26 18:37:09 -04:00
Matthijs ter Woord
9103ab4c15 Cleanup 2015-07-26 16:17:39 -04:00
Matthijs ter Woord
0bd99c1cfd Begin with memory work. 2015-07-25 11:54:11 -04:00
MyvarHD
e5ff48ef10 added Drawing code 2015-07-23 23:17:57 +02:00
MyvarHD
7d65f793eb Fixed up the vbe mode code 2015-07-23 22:02:23 +02:00
MyvarHD
c22c0d609c Started Vbe 2015-07-23 21:16:21 +02:00
Andrey Kurdyumov
c26d29d113 Use shared code where possible 2015-05-26 22:42:47 +06:00
Matthijs ter Woord
bfe5d73ba2 Several compiler fixes. 2015-05-10 19:04:20 +02:00
Matthijs ter Woord
e14778b4e3 remove edison testing code. 2015-02-26 18:10:15 +01:00
Matthijs ter Woord
ff963d65a0 Merge branch 'master' of https://github.com/CosmosOS/Cosmos
Conflicts:
	source/Cosmos.IL2CPU/AppAssembler.cs
2015-02-26 18:07:30 +01:00
Matthijs ter Woord
07cdafbedd Ongoing edison work 2015-02-03 19:46:10 +01:00
Matthijs ter Woord
f5e5bba37e Message should be printed more correct 2014-12-20 15:44:13 +01:00
Matthijs ter Woord
dfdc58ee53 Improved cpu exception tracing. 2014-12-19 20:02:59 +01:00
Matthijs ter Woord
fb937c395d print more info on screen when CPU exception 6 (Invalid Opcode) occurs.. 2014-12-06 20:01:15 +01:00
Matthijs ter Woord
d01251657f Progress on networking 2014-12-06 15:47:37 +01:00
Matthijs ter Woord
4d76fbb058 start with networking. 2014-12-06 13:57:53 +01:00
Matthijs ter Woord
5f2a31d455 Move Pci stuff to Cosmos.HAL. 2014-12-06 13:36:57 +01:00
Matthijs ter Woord
af46aa7959 - cleanup
- ring enforcement works now, but only based on the attributes.
2014-12-05 19:57:17 +01:00
Matthijs ter Woord
7c4a29b6f6 Rings verification
- add ring attribute and marking to kernel libraries
2014-12-05 16:02:06 +01:00
tgiphil
74c1dc4cde - Removed *.vspscc files 2014-12-04 23:11:34 -08:00
Sentinel209_cp
c591a7ff1b Reorganize source: Everything is out of source2 now and the soutions are cleaned up. 2014-11-28 00:48:23 +00:00