Rev 3431 | Rev 3624 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3431 | Rev 3596 | ||
---|---|---|---|
Line 1110... | Line 1110... | ||
1110 | #ifdef CONFIG_UDEBUG |
1110 | #ifdef CONFIG_UDEBUG |
1111 | 1111 | ||
1112 | /** Write directly into a page, bypassing area flags. |
1112 | /** Write directly into a page, bypassing area flags. |
1113 | * |
1113 | * |
1114 | * This allows a debugger to write into a page that is mapped read-only |
1114 | * This allows a debugger to write into a page that is mapped read-only |
1115 | * (such as the text segment). Naturally, this is only possible if the |
1115 | * (such as the text segment). Naturally, this can only be done if the |
1116 | * correspoinding area is not shared and anonymous. |
1116 | * correspoinding area is private (not shared) and anonymous. |
1117 | * |
1117 | * |
1118 | * FIXME: doesn't take into account that it isn't a good idea to write |
1118 | * If this is not the case, this function calls as_area_make_writeable() |
1119 | * into the frame if the area is shared or isn't anonymous |
1119 | * first. |
1120 | */ |
1120 | */ |
1121 | static int debug_write_inside_page(uintptr_t va, void *data, size_t n) |
1121 | static int debug_write_inside_page(uintptr_t va, void *data, size_t n) |
1122 | { |
1122 | { |
1123 | uintptr_t page; |
1123 | uintptr_t page; |
1124 | pte_t *pte; |
1124 | pte_t *pte; |