i8042.cc (9090:e4e22240398f) | i8042.cc (9290:90dd57ca9a7e) |
---|---|
1/* 2 * Copyright (c) 2008 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; --- 476 unchanged lines hidden (view full) --- 485 paramOut(os, base + ".outBuffer.size", bufferSize); 486 uint8_t *buffer = new uint8_t[bufferSize]; 487 for (int i = 0; i < bufferSize; ++i) { 488 buffer[i] = outBuffer.front(); 489 outBuffer.pop(); 490 } 491 arrayParamOut(os, base + ".outBuffer.elts", buffer, 492 bufferSize*sizeof(uint8_t)); | 1/* 2 * Copyright (c) 2008 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; --- 476 unchanged lines hidden (view full) --- 485 paramOut(os, base + ".outBuffer.size", bufferSize); 486 uint8_t *buffer = new uint8_t[bufferSize]; 487 for (int i = 0; i < bufferSize; ++i) { 488 buffer[i] = outBuffer.front(); 489 outBuffer.pop(); 490 } 491 arrayParamOut(os, base + ".outBuffer.elts", buffer, 492 bufferSize*sizeof(uint8_t)); |
493 delete buffer; | 493 delete[] buffer; |
494} 495 496void 497X86ISA::PS2Keyboard::unserialize(const std::string &base, Checkpoint *cp, 498 const std::string §ion) 499{ 500 paramIn(cp, section, base + ".lastCommand", lastCommand); 501 int bufferSize; 502 paramIn(cp, section, base + ".outBuffer.size", bufferSize); 503 uint8_t *buffer = new uint8_t[bufferSize]; 504 arrayParamIn(cp, section, base + ".outBuffer.elts", buffer, 505 bufferSize*sizeof(uint8_t)); 506 for (int i = 0; i < bufferSize; ++i) { 507 outBuffer.push(buffer[i]); 508 } | 494} 495 496void 497X86ISA::PS2Keyboard::unserialize(const std::string &base, Checkpoint *cp, 498 const std::string §ion) 499{ 500 paramIn(cp, section, base + ".lastCommand", lastCommand); 501 int bufferSize; 502 paramIn(cp, section, base + ".outBuffer.size", bufferSize); 503 uint8_t *buffer = new uint8_t[bufferSize]; 504 arrayParamIn(cp, section, base + ".outBuffer.elts", buffer, 505 bufferSize*sizeof(uint8_t)); 506 for (int i = 0; i < bufferSize; ++i) { 507 outBuffer.push(buffer[i]); 508 } |
509 delete buffer; | 509 delete[] buffer; |
510} 511 512void 513X86ISA::PS2Mouse::serialize(const std::string &base, std::ostream &os) 514{ 515 uint8_t statusData = status.__data; 516 paramOut(os, base + ".lastCommand", lastCommand); 517 int bufferSize = outBuffer.size(); 518 paramOut(os, base + ".outBuffer.size", bufferSize); 519 uint8_t *buffer = new uint8_t[bufferSize]; 520 for (int i = 0; i < bufferSize; ++i) { 521 buffer[i] = outBuffer.front(); 522 outBuffer.pop(); 523 } 524 arrayParamOut(os, base + ".outBuffer.elts", buffer, 525 bufferSize*sizeof(uint8_t)); | 510} 511 512void 513X86ISA::PS2Mouse::serialize(const std::string &base, std::ostream &os) 514{ 515 uint8_t statusData = status.__data; 516 paramOut(os, base + ".lastCommand", lastCommand); 517 int bufferSize = outBuffer.size(); 518 paramOut(os, base + ".outBuffer.size", bufferSize); 519 uint8_t *buffer = new uint8_t[bufferSize]; 520 for (int i = 0; i < bufferSize; ++i) { 521 buffer[i] = outBuffer.front(); 522 outBuffer.pop(); 523 } 524 arrayParamOut(os, base + ".outBuffer.elts", buffer, 525 bufferSize*sizeof(uint8_t)); |
526 delete buffer; | 526 delete[] buffer; |
527 paramOut(os, base + ".status", statusData); 528 paramOut(os, base + ".resolution", resolution); 529 paramOut(os, base + ".sampleRate", sampleRate); 530} 531 532void 533X86ISA::PS2Mouse::unserialize(const std::string &base, Checkpoint *cp, 534 const std::string §ion) 535{ 536 uint8_t statusData; 537 paramIn(cp, section, base + ".lastCommand", lastCommand); 538 int bufferSize; 539 paramIn(cp, section, base + ".outBuffer.size", bufferSize); 540 uint8_t *buffer = new uint8_t[bufferSize]; 541 arrayParamIn(cp, section, base + ".outBuffer.elts", buffer, 542 bufferSize*sizeof(uint8_t)); 543 for (int i = 0; i < bufferSize; ++i) { 544 outBuffer.push(buffer[i]); 545 } | 527 paramOut(os, base + ".status", statusData); 528 paramOut(os, base + ".resolution", resolution); 529 paramOut(os, base + ".sampleRate", sampleRate); 530} 531 532void 533X86ISA::PS2Mouse::unserialize(const std::string &base, Checkpoint *cp, 534 const std::string §ion) 535{ 536 uint8_t statusData; 537 paramIn(cp, section, base + ".lastCommand", lastCommand); 538 int bufferSize; 539 paramIn(cp, section, base + ".outBuffer.size", bufferSize); 540 uint8_t *buffer = new uint8_t[bufferSize]; 541 arrayParamIn(cp, section, base + ".outBuffer.elts", buffer, 542 bufferSize*sizeof(uint8_t)); 543 for (int i = 0; i < bufferSize; ++i) { 544 outBuffer.push(buffer[i]); 545 } |
546 delete buffer; | 546 delete[] buffer; |
547 paramIn(cp, section, base + ".status", statusData); 548 paramIn(cp, section, base + ".resolution", resolution); 549 paramIn(cp, section, base + ".sampleRate", sampleRate); 550 551 status.__data = statusData; 552} 553 554X86ISA::I8042 * 555I8042Params::create() 556{ 557 return new X86ISA::I8042(this); 558} | 547 paramIn(cp, section, base + ".status", statusData); 548 paramIn(cp, section, base + ".resolution", resolution); 549 paramIn(cp, section, base + ".sampleRate", sampleRate); 550 551 status.__data = statusData; 552} 553 554X86ISA::I8042 * 555I8042Params::create() 556{ 557 return new X86ISA::I8042(this); 558} |