Fix roundUp function template so explicit arg is not
authorSteve Reinhardt <stever@eecs.umich.edu>
Fri, 23 Dec 2005 18:50:35 +0000 (13:50 -0500)
committerSteve Reinhardt <stever@eecs.umich.edu>
Fri, 23 Dec 2005 18:50:35 +0000 (13:50 -0500)
needed in a few more cases.

base/intmath.hh:
    align arg to roundUp should be int, not template class
sim/process.cc:
sim/syscall_emul.hh:
    No need for explicit template arg now that roundUp is fixed.

--HG--
extra : convert_revision : f9f4639e022acb9f427e8d30d81c782504437c53

base/intmath.hh
sim/process.cc
sim/syscall_emul.hh

index 3922a326bb8d82d0d56909540b35a423c0d474f9..c8b9c5ec5dfb501d23bdb1a42c62ada592e220ec 100644 (file)
@@ -194,9 +194,9 @@ divCeil(T a, T b)
 
 template <class T>
 inline T
-roundUp(T val, T align)
+roundUp(T val, int align)
 {
-    T mask = align - 1;
+    T mask = (T)align - 1;
     return (val + mask) & ~mask;
 }
 
index 28bc5ac3b9671602528d57cf0a3429d215163596..395e2eb0aa0a79fe3d670c846bdef29ed63ba4bf 100644 (file)
@@ -274,7 +274,7 @@ LiveProcess::LiveProcess(const string &nm, ObjectFile *objFile,
     text_size = objFile->textSize();
     data_base = objFile->dataBase();
     data_size = objFile->dataSize() + objFile->bssSize();
-    brk_point = roundUp<uint64_t>(data_base + data_size, VMPageSize);
+    brk_point = roundUp(data_base + data_size, VMPageSize);
 
     // load object file into target memory
     objFile->loadSections(memory);
index c535b5ad6aaeb4694cd43f183a9305da30c1cd8c..185ada2c51bd10753cbfb4ce83a4ff1c2e217dd2 100644 (file)
@@ -634,7 +634,7 @@ mmapFunc(SyscallDesc *desc, int num, Process *p, ExecContext *xc)
     if (start == 0) {
         // user didn't give an address... pick one from our "mmap region"
         start = p->mmap_end;
-        p->mmap_end += roundUp<Addr>(length, VMPageSize);
+        p->mmap_end += roundUp(length, VMPageSize);
         if (p->nxm_start != 0) {
             //If we have an nxm space, make sure we haven't colided
             assert(p->mmap_end < p->nxm_start);