i8259.cc (14290:fa11f961ae4e) | i8259.cc (14291:722551795497) |
---|---|
1/* 2 * Copyright (c) 2004-2005 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 30 unchanged lines hidden (view full) --- 39X86ISA::I8259::I8259(Params * p) 40 : BasicPioDevice(p, 2), 41 latency(p->pio_latency), 42 mode(p->mode), slave(p->slave), 43 IRR(0), ISR(0), IMR(0), 44 readIRR(true), initControlWord(0), autoEOI(false) 45{ 46 for (int i = 0; i < p->port_output_connection_count; i++) { | 1/* 2 * Copyright (c) 2004-2005 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 30 unchanged lines hidden (view full) --- 39X86ISA::I8259::I8259(Params * p) 40 : BasicPioDevice(p, 2), 41 latency(p->pio_latency), 42 mode(p->mode), slave(p->slave), 43 IRR(0), ISR(0), IMR(0), 44 readIRR(true), initControlWord(0), autoEOI(false) 45{ 46 for (int i = 0; i < p->port_output_connection_count; i++) { |
47 output.push_back(new ::IntSourcePin<I8259>( | 47 output.push_back(new IntSourcePin |
48 csprintf("%s.output[%d]", name(), i), i, this)); 49 } 50 51 int in_count = p->port_inputs_connection_count; 52 panic_if(in_count >= NumLines, 53 "I8259 only supports 8 inputs, but there are %d.", in_count); 54 for (int i = 0; i < in_count; i++) { | 48 csprintf("%s.output[%d]", name(), i), i, this)); 49 } 50 51 int in_count = p->port_inputs_connection_count; 52 panic_if(in_count >= NumLines, 53 "I8259 only supports 8 inputs, but there are %d.", in_count); 54 for (int i = 0; i < in_count; i++) { |
55 inputs.push_back(new ::IntSinkPin<I8259>( | 55 inputs.push_back(new IntSinkPin |
56 csprintf("%s.inputs[%d]", name(), i), i, this)); 57 } 58 59 for (bool &state: pinStates) 60 state = false; 61} 62 63void --- 309 unchanged lines hidden --- | 56 csprintf("%s.inputs[%d]", name(), i), i, this)); 57 } 58 59 for (bool &state: pinStates) 60 state = false; 61} 62 63void --- 309 unchanged lines hidden --- |