projects
/
pintos-anon
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Start work on program loading.
[pintos-anon]
/
src
/
threads
/
thread.h
diff --git
a/src/threads/thread.h
b/src/threads/thread.h
index b72c372b7ac98407e353480af5a7e1808dd32c23..a9b3251249d11f6415065866cda95032f9a67194 100644
(file)
--- a/
src/threads/thread.h
+++ b/
src/threads/thread.h
@@
-4,6
+4,10
@@
#include <stdint.h>
#include "list.h"
#include <stdint.h>
#include "list.h"
+#ifdef USERPROG
+#include "addrspace.h"
+#endif
+
enum thread_status
{
THREAD_RUNNING,
enum thread_status
{
THREAD_RUNNING,
@@
-17,7
+21,10
@@
struct thread
enum thread_status status;
char name[16];
uint32_t *stack;
enum thread_status status;
char name[16];
uint32_t *stack;
- struct list_elem rq_elem;
+ list_elem rq_elem;
+#ifdef USERPROG
+ struct addrspace addrspace;
+#endif
};
void thread_init (void);
};
void thread_init (void);
@@
-27,6
+34,10
@@
struct thread *thread_create (const char *name,
void thread_destroy (struct thread *);
struct thread *thread_current (void);
void thread_destroy (struct thread *);
struct thread *thread_current (void);
+#ifdef USERPROG
+void thread_execute (const char *filename);
+#endif
+
void thread_start (struct thread *);
void thread_ready (struct thread *);
void thread_exit (void);
void thread_start (struct thread *);
void thread_ready (struct thread *);
void thread_exit (void);
@@
-35,4
+46,6
@@
void thread_yield (void);
void thread_sleep (void);
void thread_schedule (void);
void thread_sleep (void);
void thread_schedule (void);
+void thread_self_test (void);
+
#endif /* thread.h */
#endif /* thread.h */