Changeset fd4d8c0 in mainline for generic/src/ipc/sysipc.c


Ignore:
Timestamp:
2006-05-25T21:21:58Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b31d188
Parents:
baafe71
Message:

Modify as_area_share() to accept destination area flags bitmask from the sender
(i.e. the sender can limit access mode to the shared area for the recipient).
Modify IPC_M_AS_AREA_SEND code to support this. Arguments for sender: arg1=as_area,
arg2=size, arg3=flags_mask.

The mechanism seems to work, but the page fault handlers need to be altered to
distinguish between faults under different access modes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • generic/src/ipc/sysipc.c

    rbaafe71 rfd4d8c0  
    139139                        interrupts_restore(ipl);
    140140                       
    141                         return as_area_share(as, IPC_GET_ARG2(*olddata),IPC_GET_ARG3(*olddata),
    142                                 IPC_GET_ARG1(answer->data));
     141                        return as_area_share(as, IPC_GET_ARG1(*olddata), IPC_GET_ARG2(*olddata),
     142                                IPC_GET_ARG1(answer->data), IPC_GET_ARG3(*olddata));
    143143                }
    144144        }
     
    166166                break;
    167167        case IPC_M_AS_AREA_SEND:
    168                 size = as_get_size(IPC_GET_ARG2(call->data));
     168                size = as_get_size(IPC_GET_ARG1(call->data));
    169169                if (!size) {
    170170                        return EPERM;
    171171                }
    172                 IPC_SET_ARG3(call->data, size);
     172                IPC_SET_ARG2(call->data, size);
    173173                break;
    174174        default:
Note: See TracChangeset for help on using the changeset viewer.