Requests allocation of a RAM memory bank.
Response: After the memory controller has processed the system call, it will respond with BIOS_RAM_ALLOCATED.
llMessageLinked(LINK_ROOT, 0, "BIOS_RAM_ALLOCATE", [user]
);
• target | LINK_ROOT |
• integer | n/a |
• key | [user] |
Parameter |
Description |
[user] |
String. Must be between 1 and 64 characters, inclusive. Used as an identification string for the script that allocated this specific memory bank.
Must be passed with future BIOS_RAM_OP and BIOS_RAM_RELEASE calls, including indirectly through other system calls and software that interacts with RAM, such as the SDTI, to avoid inadvertent memory access.
This value does not have to be unique, because the allocated memory bank will be identified by a number. Multiple memory banks can be allocated using the same [user] .
Generally, llGetScriptName should be used for this value. |
- Requires "_bios-ram" script to be running, and requires at least one unallocated "_bios-ram*" script to succeed.
- Memory is limited. Release allocated memory blocks with BIOS_RAM_RELEASE as soon as they are no longer needed, and limit the number of memory banks allocated when possible.
- Available memory for allocation is limited by the number of available memory banks. Allocating all available memory banks to yourself, for example, will cause any future allocation to fail.
- Contents of memory banks are not secure from unauthorized viewing or even tampering.
- While the SCI reduces the possibility of corruption from other programs, the RAM controller performs only minimal validation.
- If memory integrity is required - for example, when overwriting a critical file or when running memory contents as system calls or console commands - one could monitor for any other BIOS_RAM_* system calls that are targeted for the assigned memory bank while verifying its contents. If the script is restarted using BIOS_SCI_STARTED, assume it was stopped and fail the integrity check. As soon as the check passes, perform the action; if it fails, try again or error out. While a malicious program can still work around this method, it will detect virtually all unintentional memory corruption.
- Released in LE-BIOS rev. 1012 (prerelease).