Kernel/Utilities: add a new get_top_of_stack convenience function
This commit is contained in:
parent
cf3f61e373
commit
66add380cf
@ -7,4 +7,5 @@ namespace Utilities
|
|||||||
uint64_t size); // Returns how many blocks of size blocksize does size occupy.
|
uint64_t size); // Returns how many blocks of size blocksize does size occupy.
|
||||||
|
|
||||||
uint64_t get_rflags();
|
uint64_t get_rflags();
|
||||||
|
uint64_t get_top_of_stack(uint64_t bottom, uint64_t stack_pages);
|
||||||
}
|
}
|
@ -1,5 +1,9 @@
|
|||||||
#include "misc/utils.h"
|
#include "misc/utils.h"
|
||||||
|
|
||||||
|
#ifndef PAGE_SIZE
|
||||||
|
#define PAGE_SIZE 4096
|
||||||
|
#endif
|
||||||
|
|
||||||
uint64_t Utilities::get_blocks_from_size(uint64_t blocksize, uint64_t size)
|
uint64_t Utilities::get_blocks_from_size(uint64_t blocksize, uint64_t size)
|
||||||
{
|
{
|
||||||
return (size + (blocksize - 1)) / blocksize;
|
return (size + (blocksize - 1)) / blocksize;
|
||||||
@ -10,3 +14,8 @@ uint64_t Utilities::get_rflags()
|
|||||||
{
|
{
|
||||||
return asm_get_rflags();
|
return asm_get_rflags();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint64_t Utilities::get_top_of_stack(uint64_t bottom, uint64_t stack_pages)
|
||||||
|
{
|
||||||
|
return bottom + (stack_pages * PAGE_SIZE) - sizeof(uintptr_t);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user