Ignore:
Timestamp:
2018-03-16T20:57:16Z (6 years ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Children:
6be2c13
Parents:
973be387
git-author:
Jiří Zárevúcky <zarevucky.jiri@…> (2018-03-16 20:51:59)
git-committer:
Jiří Zárevúcky <zarevucky.jiri@…> (2018-03-16 20:57:16)
Message:

Clean up PAGE_* flags.

Remove "nop flags", they are confusing for readers and any benefit they would
gain in self-documentation they lose in being used inconsistently.

Remove "PAGE_READ", the only place it's used meaningfully is the incomplete
RISC-V implementation, and most call sites assume read is implied.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/arm32/include/arch/mm/page_armv4.h

    r973be387 r4b1c7c6f  
    138138        int np = (p->descriptor_type == PTE_DESCRIPTOR_NOT_PRESENT);
    139139
    140         return (np << PAGE_PRESENT_SHIFT) | (1 << PAGE_USER_SHIFT) |
    141             (1 << PAGE_READ_SHIFT) | (1 << PAGE_WRITE_SHIFT) |
     140        return (np << PAGE_NOT_PRESENT_SHIFT) | (1 << PAGE_USER_SHIFT) |
     141            (1 << PAGE_WRITE_SHIFT) |
    142142            (1 << PAGE_EXEC_SHIFT) | (1 << PAGE_CACHEABLE_SHIFT);
    143143}
     
    156156        int ap = p->access_permission_0;
    157157
    158         return ((dt == PTE_DESCRIPTOR_NOT_PRESENT) << PAGE_PRESENT_SHIFT) |
    159             ((ap == PTE_AP_USER_RO_KERNEL_RW) << PAGE_READ_SHIFT) |
    160             ((ap == PTE_AP_USER_RW_KERNEL_RW) << PAGE_READ_SHIFT) |
     158        return ((dt == PTE_DESCRIPTOR_NOT_PRESENT) << PAGE_NOT_PRESENT_SHIFT) |
    161159            ((ap == PTE_AP_USER_RW_KERNEL_RW) << PAGE_WRITE_SHIFT) |
    162160            ((ap != PTE_AP_USER_NO_KERNEL_RW) << PAGE_USER_SHIFT) |
    163             ((ap == PTE_AP_USER_NO_KERNEL_RW) << PAGE_READ_SHIFT) |
    164161            ((ap == PTE_AP_USER_NO_KERNEL_RW) << PAGE_WRITE_SHIFT) |
    165162            (1 << PAGE_EXEC_SHIFT) |
     
    220217
    221218        if (flags & PAGE_USER)  {
    222                 if (flags & PAGE_READ) {
     219                if (flags & PAGE_WRITE) {
     220                        p->access_permission_0 = p->access_permission_1 =
     221                            p->access_permission_2 = p->access_permission_3 =
     222                            PTE_AP_USER_RW_KERNEL_RW;
     223                } else {
    223224                        p->access_permission_0 = p->access_permission_1 =
    224225                            p->access_permission_2 = p->access_permission_3 =
    225226                            PTE_AP_USER_RO_KERNEL_RW;
    226227                }
    227                 if (flags & PAGE_WRITE) {
    228                         p->access_permission_0 = p->access_permission_1 =
    229                             p->access_permission_2 = p->access_permission_3 =
    230                             PTE_AP_USER_RW_KERNEL_RW;
    231                 }
    232228        }
    233229}
Note: See TracChangeset for help on using the changeset viewer.