Home | History | Annotate | Download | only in arm

Lines Matching defs:Processor

5828     // It is allowed for a processor to require that the address matches
5847 Simulator::GlobalMonitor::Processor::Processor()
5854 void Simulator::GlobalMonitor::Processor::Clear_Locked() {
5859 void Simulator::GlobalMonitor::Processor::NotifyLoadExcl_Locked(int32_t addr) {
5864 void Simulator::GlobalMonitor::Processor::NotifyStore_Locked(
5868 // requesting processor to an address covered by the global monitor
5871 // For any other processor, the access state always transitions to open
5883 bool Simulator::GlobalMonitor::Processor::NotifyStoreExcl_Locked(
5887 // It is allowed for a processor to require that the address matches
5890 // The access state for the requesting processor after a successful
5908 // another processor so the implementation is more conservative (i.e. the
5920 Processor* processor) {
5921 processor->NotifyLoadExcl_Locked(addr);
5922 PrependProcessor_Locked(processor);
5926 Processor* processor) {
5927 // Notify each processor of the store operation.
5928 for (Processor* iter = head_; iter; iter = iter->next_) {
5929 bool is_requesting_processor = iter == processor;
5935 Processor* processor) {
5936 DCHECK(IsProcessorInLinkedList_Locked(processor));
5937 if (processor->NotifyStoreExcl_Locked(addr, true)) {
5939 for (Processor* iter = head_; iter; iter = iter->next_) {
5940 if (iter != processor) {
5951 Processor* processor) const {
5952 return head_ == processor || processor->next_ || processor->prev_;
5955 void Simulator::GlobalMonitor::PrependProcessor_Locked(Processor* processor) {
5956 if (IsProcessorInLinkedList_Locked(processor)) {
5961 head_->prev_ = processor;
5963 processor->prev_ = nullptr;
5964 processor->next_ = head_;
5965 head_ = processor;
5968 void Simulator::GlobalMonitor::RemoveProcessor(Processor* processor) {
5970 if (!IsProcessorInLinkedList_Locked(processor)) {
5974 if (processor->prev_) {
5975 processor->prev_->next_ = processor->next_;
5977 head_ = processor->next_;
5979 if (processor->next_) {
5980 processor->next_->prev_ = processor->prev_;
5982 processor->prev_ = nullptr;
5983 processor->next_ = nullptr;