Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Increased possible virtual memory size to 4GB #32

Closed

Conversation

ChristianMoesl
Copy link
Contributor

Increased possible virtual memory size to 4GB.

Prerequisites

To be able to allocated ~4GB of Memory, additional compiler flags are needed. On a Windows machine, the linker flag -Wl,--large-address-aware (gcc, clang) or /LARGEADDRESSAWARE (Visual C++) needs to be added. For Linux and Mac, i haven't tested it yet. I think the Windows Compiler flags won't work on this machines.

Issues

For 4GB Address space we need unsigned arithmetics. Luckily Selfie has a lot of unsigned MIPS instructions (addu, subu, multu,..). Alltough the overflow detection might detect some overflows, which are in fact legal. For an example if the memory address 0x7FFF FFFC is increased by 4 we get 0x8000 0000 and an overflow warning.

Btw.: The instruction selfie DIVU implementation is more of a MIPS DIV instrcution. Signed division wouldn't work with the MIPS DIVU instrution.

ToDo

We need to detect the operating system in the Makefile and add the corresponding linker flags for the os.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant