X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Kernel%2Finclude%2Fhal_proc.h;h=3a22e5ea741828b9621acd4e55e7d97c027b18aa;hb=af157dbfe089d5432d09daa439805d51f7756fee;hp=f41c938c74bdc86e8731ad2dcb255c199276a19a;hpb=95a9132bcc024715a0a87cb323d58967ea5b1803;p=tpg%2Facess2.git diff --git a/Kernel/include/hal_proc.h b/Kernel/include/hal_proc.h index f41c938c..3a22e5ea 100644 --- a/Kernel/include/hal_proc.h +++ b/Kernel/include/hal_proc.h @@ -23,6 +23,14 @@ extern void ArchThreads_Init(void); * \brief Start preemptive multithreading (if needed) */ extern void Proc_Start(void); +/** + * \brief Called just before a thread is freed + */ +extern void Proc_ClearThread(tThread *Thread); +/** + * \brief Called just before a process is freed + */ +extern void Proc_ClearProcess(tProcess *Process); /** * \brief Get the ID of this CPU * \return Zero based CPU ID @@ -68,7 +76,7 @@ extern void Proc_Reschedule(void); /** * \brief Clear the user's memory space back to the minimum required to run */ -extern tPAddr MM_ClearUser(void); +extern void MM_ClearUser(void); /** * \brief Dump the address space to the debug channel * \param Start First address @@ -76,4 +84,11 @@ extern tPAddr MM_ClearUser(void); */ extern void MM_DumpTables(tVAddr Start, tVAddr End); +/** + * \brief Check if a buffer is valid (and all user if originally user) + * \param Addr Base address + * \param Size Size of the buffer in bytes + * \return Boolean valid (0: invalid, non-0: Valid) + */ +extern int MM_IsValidBuffer(tVAddr Addr, size_t Size); #endif