In a large skillet, sauté the onion in 2 tablespoons of oil and 1/2 teaspoon salt until they are translucent. Using a spatula, scoop the pieces out of the frying pan into a bowl, and set them aside.
Add 2 more tablespoons of oil to the pan and turn on medium-high heat. Cook potatoes in even layers and batches for about 10 minutes per batch, or until the potatoes are soft. Salt and pepper the cooking potatoes to taste. As the batches cook and get done, add them to the bowl of cooked onions.
Once all the potatoes are cooked, crack the eggs into the bowl and add the olives. Stir gently with a whisk.
Wipe out the skillet and place it back over medium-high heat.
Heat the remaining olive oil in the skillet and add half of the potato-onion-egg mixture to the heated pan. Smooth the layer with the back of a spoon and add the sliced cheese. Pour the remaining egg mixture over the cheese.
Cook the eggs without stirring for about 10 minutes, then transfer the skillet to the oven to bake until the eggs are set. This will take about 25 minutes.
After the eggs are set, turn your oven up to broil to brown the top of the tortilla, then take the pan out of the oven and invert to drop the cooked tortilla out.
Cut into wedges and serve hot with coffee and rolls.