fix crash with sa1 ram exposure
This commit is contained in:
parent
f9d4737104
commit
5ad12db814
Binary file not shown.
|
@ -116,6 +116,7 @@ void SA1::trigger_irq() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void SA1::init() {
|
void SA1::init() {
|
||||||
|
iram.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SA1::load() {
|
void SA1::load() {
|
||||||
|
|
|
@ -12,12 +12,14 @@ void StaticRAM::write(unsigned addr, uint8 n) { data_[addr] = n; }
|
||||||
uint8& StaticRAM::operator[](unsigned addr) { return data_[addr]; }
|
uint8& StaticRAM::operator[](unsigned addr) { return data_[addr]; }
|
||||||
const uint8& StaticRAM::operator[](unsigned addr) const { return data_[addr]; }
|
const uint8& StaticRAM::operator[](unsigned addr) const { return data_[addr]; }
|
||||||
|
|
||||||
StaticRAM::StaticRAM(unsigned n, const char* name) : size_(n) {
|
StaticRAM::StaticRAM(unsigned n, const char* name) : size_(n), name_(name) {
|
||||||
if(name) data_ = (uint8*)interface()->allocSharedMemory(name, size_);
|
if(name_) data_ = nullptr; // data_ alloc must be deferred (static ctor is not in a cothread!)
|
||||||
else data_ = new uint8[size_]();
|
else data_ = new uint8[size_]();
|
||||||
}
|
}
|
||||||
StaticRAM::~StaticRAM() { abort(); }
|
StaticRAM::~StaticRAM() { abort(); }
|
||||||
|
|
||||||
|
void StaticRAM::init() { if(name_ && !data_) data_ = (uint8*)interface()->allocSharedMemory(name_, size_); }
|
||||||
|
|
||||||
//MappedRAM
|
//MappedRAM
|
||||||
|
|
||||||
void MappedRAM::reset() {
|
void MappedRAM::reset() {
|
||||||
|
|
|
@ -16,9 +16,12 @@ struct StaticRAM : Memory {
|
||||||
inline StaticRAM(unsigned size, const char* name = NULL);
|
inline StaticRAM(unsigned size, const char* name = NULL);
|
||||||
inline ~StaticRAM();
|
inline ~StaticRAM();
|
||||||
|
|
||||||
|
inline void init();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint8 *data_;
|
uint8 *data_;
|
||||||
unsigned size_;
|
unsigned size_;
|
||||||
|
const char* name_;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct MappedRAM : Memory {
|
struct MappedRAM : Memory {
|
||||||
|
|
Loading…
Reference in New Issue